[Cette discussion est dérivée de cette discussion : https://www.developpez.net/forums/d1...-segmentation/

Elle vise à développer les problèmes de sécurité que la fonction printf() peut poser. Cette problématique est assez loin du problème original et une discussion dédiée est ouverte pour plus de clarté.

Voici lecode incrimé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <string.h>
 
char *my_revstr(char *str)
{
	char string[255];
	int len, n;
 
	strcpy(string, str);
	len = strlen(string);
	for(n = 0; n!=len; n++)
	{
		*(str+n) = string[len];
		len--;
	}
}
 
int main()
{
	char string[12] = "Hello World\0";
	printf(string);
	my_revstr(string);
	printf(string);
	return (0);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <string.h>
char *my_strstr(char *str, char *to_find)
{
	char *string;
 
	while (*str != *to_find)
	{
		str++;
	}
 
	strncpy(string, str, strlen(to_find));	
 
	return (str);
}
 
int main()
{
	char string[12] = "Hello World\0";
	char *str = my_strstr(string, "ello");
	printf("%s\n", str);
 
	return (0);
}