This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, The test case bug-ga2 crashes when the system it is running on has no ipv6 address configured. This is because we point the cache (that is freed on exit) to a static variable if there is no ipv6 address, which later results in freeing an invalid pointer. Following patch fixes this crash. Siddhesh [BZ #17125] * sysdeps/unix/sysv/linux/check_pf.c (make_request): Allocate result using malloc. diff --git a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c index 1bc1def..063e15f 100644 --- a/sysdeps/unix/sysv/linux/check_pf.c +++ b/sysdeps/unix/sysv/linux/check_pf.c @@ -311,7 +311,8 @@ make_request (int fd, pid_t pid) atomic_add (&noai6ai_cached.usecnt, 2); noai6ai_cached.seen_ipv4 = seen_ipv4; noai6ai_cached.seen_ipv6 = seen_ipv6; - result = &noai6ai_cached; + result = malloc (sizeof (noai6ai_cached)); + memcpy (result, &noai6ai_cached, sizeof (noai6ai_cached)); } if (use_malloc)
Attachment:
pgpPY4xYixFrx.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |