k001
k001
:...
April 2032
        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 26 27 28 29 30

Вот как бывает... (С) Юрий Антонов

Нашёл багу фичу? в glibc. Update: на всякий случай зафайлил #10818 в sources.redhat.com bugzilla.

[kir@kir ~]$ cat null.c
#include <stdio.h>

int main(void) {
fprintf(stdout, "%s\n", NULL);
printf("%s%s\n", NULL, NULL);
printf("%s\n", NULL);
}
[kir@kir ~]$ gcc -o null null.c
[kir@kir ~]$ ./null
(null)
(null)(null)
Segmentation fault


glibc-2.9-3.x86_64
gcc-4.3.2-7.x86_64

А всё потому, что
(1) кто-то слишком умный оптимизирует printf с агрументами ("%s\n", str) до puts(str);
(2) puts(NULL) вызывает strlen(NULL);
(3) последний почему-то сегфолтится.

From:
( )Anonymous- this user has disabled anonymous posting.
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message:



Notice! This user has turned on the option that logs IP addresses of anonymous posters.