diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-12-07 16:50:11 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-12-07 16:50:11 +0000 |
commit | 26e21e7554ca5bbc719d5b018e26d5eb621c9e2e (patch) | |
tree | cba97f6eef732d9fbacf1cc5205f8e3eeeb8c1f1 /stdio-common | |
parent | c9d65f0fbdf83d13e85a82d0b7b564d343a3c64b (diff) | |
download | glibc-26e21e7554ca5bbc719d5b018e26d5eb621c9e2e.tar.gz glibc-26e21e7554ca5bbc719d5b018e26d5eb621c9e2e.tar.xz glibc-26e21e7554ca5bbc719d5b018e26d5eb621c9e2e.zip |
[BZ #5441, BZ #5452, BZ #5454]
2007-12-07 Ulrich Drepper <drepper@redhat.com> [BZ #5441] * stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free structure, it's allocated with alloca. * stdio-common/Makefile (tests): Add bug21. * stdio-common/bug21.c: New file. 2007-12-06 Aurelien Jarno <aurelien@aurel32.net> [BZ #5452] * sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__ keyword for gcc's braced-groups. 2007-12-07 Ulrich Drepper <drepper@redhat.com> [BZ #5454] * inet/ether_line.c: Strip hostname of whitespaces. * inet/Makefile (tests): Add tst-ether_line. * inet/tst-ether_line.c: New file.
Diffstat (limited to 'stdio-common')
-rw-r--r-- | stdio-common/Makefile | 2 | ||||
-rw-r--r-- | stdio-common/bug21.c | 16 | ||||
-rw-r--r-- | stdio-common/vfscanf.c | 1 |
3 files changed, 17 insertions, 2 deletions
diff --git a/stdio-common/Makefile b/stdio-common/Makefile index d5b1251993..db622af22b 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -57,7 +57,7 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \ tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 bug15 \ tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \ tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \ - bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 + bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 test-srcs = tst-unbputc tst-printf diff --git a/stdio-common/bug21.c b/stdio-common/bug21.c new file mode 100644 index 0000000000..d22b9c1a97 --- /dev/null +++ b/stdio-common/bug21.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +static int +do_test (void) +{ + static const char buf[] = " "; + char *str; + + int r = sscanf (buf, "%as", &str); + printf ("%d %p\n", r, str); + + return r != -1 || str != NULL; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c index f550109a90..a03e19c4e3 100644 --- a/stdio-common/vfscanf.c +++ b/stdio-common/vfscanf.c @@ -2845,7 +2845,6 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, *p->ptrs[cnt] = NULL; } p = p->next; - free (ptrs_to_free); ptrs_to_free = p; } } |