Συντονιστής: konnn

Star_Light έγραψε:πΑΝτως και εκεινο που καναμε με την συναρτηση και την προβληματικη fgets ουσιαστικα και εκεινο ειχε θεματα με την ανω υπερχειλιση και αυτο ουσιαστικα νομιζω πρεπει να περιγραφει ενα exploit? ή οχι? Και μετα η νεα ασφαλης συναρτηση που προεκυψε περιλαμβανοντας μεσα και τον μηδενικο αλλα και τον χαρακτηρα νεας γραμμης μπορει να πει κανεις πως ηταν ενα patch? στον κωδικα.

migf1 έγραψε:
Δεν έχω ιδέα σε ποιες συναρτήσεις αναφέρεσαι
#include<stdio.h>
#include<stdlib.h>
#define N 10
void func(char str[N]);
int main()
{
char str[N]="";
printf("Dwste mia simvoloseira: \n");
fgets(str,N,stdin);
printf("\n");
func(str);
return 0;
}
void func(char str[N])
{
char *str_ptr;
str_ptr=str;
for(str_ptr=str; *str_ptr!='\0' && *str_ptr!='\n'; str_ptr++)
putchar(*str_ptr);
printf("\n\n");
while(str_ptr!=str)
{
str_ptr--;
printf("%c",*str_ptr);
}
return;
}

Star_Light έγραψε:migf1 έγραψε:
Δεν έχω ιδέα σε ποιες συναρτήσεις αναφέρεσαι
- Κώδικας: Επιλογή όλων
#include<stdio.h>
#include<stdlib.h>
#define N 10
void func(char str[N]);
int main()
{
char str[N]="";
printf("Dwste mia simvoloseira: \n");
fgets(str,N,stdin);
printf("\n");
func(str);
return 0;
}
void func(char str[N])
{
char *str_ptr;
str_ptr=str;
for(str_ptr=str; *str_ptr!='\0' && *str_ptr!='\n'; str_ptr++)
putchar(*str_ptr);
printf("\n\n");
while(str_ptr!=str)
{
str_ptr--;
printf("%c",*str_ptr);
}
return;
}

stamatiou έγραψε:
Επίσης για να κάνω μια γενική ερώτηση, το buffer overflow προκαλείται δλδ όταν δεν κάνουμε ελέγχους;
float array[3];
char c;
θέσεις μνήμης:
... 20000001 20000001 20000002 20000003 ...
... array[0] array[1] array[2] c
array[3] = 4.0;


migf1 έγραψε:
Δεν έχω δώσει εγώ τέτοια συνάρτηση!

char *s_copy( char *dst, const char *src )
{
char *save = dst;
while ( (*dst++=*src++) )
;
return save;
}

