fgets investigations
This commit is contained in:
parent
aeeefe061d
commit
8ba88d2b8d
@ -1,3 +1,3 @@
|
||||
# Le code des tetaricks
|
||||
# Le code des Tetatricks
|
||||
|
||||
Attention, c'est un peu le fouillis.
|
||||
|
@ -1,8 +1,8 @@
|
||||
#
|
||||
# -------------------
|
||||
# NETWORK EXPERIMENTS
|
||||
#
|
||||
# -------------------
|
||||
|
||||
COPT = -Wall -DDEBUG_LEVEL=1 -pthread
|
||||
COPT = -Wall -DDEBUG_LEVEL=1 -g -pthread
|
||||
|
||||
# --------------------------------------------------
|
||||
# Experimental Specialized Telnet Server
|
||||
@ -10,3 +10,5 @@ COPT = -Wall -DDEBUG_LEVEL=1 -pthread
|
||||
|
||||
emc-tnetd: emc-tnetd.c Makefile
|
||||
gcc $< $(COPT) -o $@
|
||||
|
||||
# --------------------------------------------------
|
||||
|
@ -11,9 +11,15 @@ que c'est pas si simple que ça.
|
||||
Le fichier qui permet de mettre en évidence les soucis est assez
|
||||
simple pour être facile à suivre : `emc-tnetd.c`.
|
||||
|
||||
Première chose : le buffer-overflow.
|
||||
### Le buffer-overflow.
|
||||
|
||||
Deuxième chose : les caractères de controle.
|
||||
Enfin pas vraiment un dépassement de tampon, mais juste
|
||||
une inconpréhension sur la sémantique de `fgets` sur les conditions
|
||||
d'erreur. Et dans un contexte particulier : le FILE * est fourni
|
||||
par un `fdopen` appliqué sur un socket TCP, mais je ne sais pas
|
||||
encore si ça a une réelle influence.
|
||||
|
||||
### Les caractères de controle.
|
||||
|
||||
Stay tuned, film at 11.
|
||||
|
||||
|
@ -1,17 +1,22 @@
|
||||
/*
|
||||
* EMC SRVTELNET
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <string.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#define TL 20
|
||||
#define BINDADDR "127.0.0.1"
|
||||
#define TL 20
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int foo, len, sock;
|
||||
char *adr_ip = "127.0.0.1";
|
||||
char *adr_ip = BINDADDR;
|
||||
int port = 5678;
|
||||
unsigned int addrlen;
|
||||
int connected;
|
||||
|
Loading…
Reference in New Issue
Block a user