public inbox for glibc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug libc/12491] New: Calling getpwuid in a statically linked program should return an error, not a seg fault. @ 2011-02-14 23:32 geir at cray dot com 2011-03-04 23:55 ` [Bug libc/12491] " geir at cray dot com ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: geir at cray dot com @ 2011-02-14 23:32 UTC (permalink / raw) To: glibc-bugs http://sourceware.org/bugzilla/show_bug.cgi?id=12491 Summary: Calling getpwuid in a statically linked program should return an error, not a seg fault. Product: glibc Version: 2.9 Status: NEW Severity: normal Priority: P2 Component: libc AssignedTo: drepper.fsp@gmail.com ReportedBy: geir@cray.com For a system that is NOT running the nscd daemon, a statically linked program that calls getpwuid will return a segmentation fault. The resulting core file does not provide much help in debugging the problem. getpwuid or the routines that it calls should be more robust and not seg fault in this situation, but rather return an error to the user. I realize that a link time warning message is shown about using getpwuid in a statically linked program, but this warning message can easily be overlooked when building a large application that has other warning messages. test case: $ cat getpwuid.c #include <sys/types.h> #include <stdio.h> #include <pwd.h> int main(){ int uid; struct passwd *pw; uid=getuid(); printf("UID=%d\n", uid); pw = getpwuid(uid); printf("Done.\n"); printf("Name=%s\n", pw->pw_name); return 0; } $ strings /usr/lib64/libc.a | grep -i "release version" GNU C Library stable release version 2.9 (20081117), by Roland McGrath et al. $ gcc -g -static -o getpwuid getpwuid.c /tmp/pbs.581087.sdb/ccyZpaUZ.o: In function `main': /home/users/geir/getpwuid.c:10: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking $ ps -ale | grep nscd $ ./getpwuid UID=10682 Segmentation fault $ Here is the unhelpful traceback of the corefile: (gdb) bt #0 0x0000000000000000 in ?? () #1 0x00002aaaad4fd5dc in __pthread_initialize_minimal_internal () from /lib64/libpthread.so.0 #2 0x00002aaaad4fce49 in _init () from /lib64/libpthread.so.0 #3 0x0000000000000000 in ?? () (gdb) -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/12491] Calling getpwuid in a statically linked program should return an error, not a seg fault. 2011-02-14 23:32 [Bug libc/12491] New: Calling getpwuid in a statically linked program should return an error, not a seg fault geir at cray dot com @ 2011-03-04 23:55 ` geir at cray dot com 2011-04-18 2:26 ` drepper.fsp at gmail dot com ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: geir at cray dot com @ 2011-03-04 23:55 UTC (permalink / raw) To: glibc-bugs http://sourceware.org/bugzilla/show_bug.cgi?id=12491 --- Comment #1 from Geir Johansen <geir at cray dot com> 2011-03-04 23:55:15 UTC --- Here is where the problem looks like it starts to occur: (gdb) x/30i 0x00000000004284c2 0x4284c2 <get_mapping+674>: je 0x4284d3 <get_mapping+691> 0x4284c4 <get_mapping+676>: mov $0xffffffff,%eax 0x4284c9 <get_mapping+681>: lock xadd %eax,0x18(%rdi) 0x4284ce <get_mapping+686>: sub $0x1,%eax 0x4284d1 <get_mapping+689>: je 0x428500 <get_mapping+736> 0x4284d3 <get_mapping+691>: lea -0x28(%rbp),%rsp 0x4284d7 <get_mapping+695>: mov %rbx,%rax 0x4284da <get_mapping+698>: pop %rbx 0x4284db <get_mapping+699>: pop %r12 0x4284dd <get_mapping+701>: pop %r13 0x4284df <get_mapping+703>: pop %r14 0x4284e1 <get_mapping+705>: pop %r15 0x4284e3 <get_mapping+707>: leaveq 0x4284e4 <get_mapping+708>: retq 0x4284e5 <get_mapping+709>: nopl (%rax) 0x4284e8 <get_mapping+712>: mov -0x144(%rbp),%edi 0x4284ee <get_mapping+718>: mov $0xffffffffffffffff,%rbx 0x4284f5 <get_mapping+725>: callq 0x422410 <close> 0x4284fa <get_mapping+730>: jmp 0x42849b <get_mapping+635> 0x4284fc <get_mapping+732>: nopl 0x0(%rax) 0x428500 <get_mapping+736>: callq 0x4281e0 <__nscd_unmap> 0x428505 <get_mapping+741>: nopl (%rax) 0x428508 <get_mapping+744>: jmp 0x4284d3 <get_mapping+691> 0x42850a <get_mapping+746>: nopw 0x0(%rax,%rax,1) 0x428510 <get_mapping+752>: mov -0x38(%rbp),%rsi 0x428514 <get_mapping+756>: mov %r12,%rdi 0x428517 <get_mapping+759>: mov $0xffffffffffffffff,%rbx 0x42851e <get_mapping+766>: callq 0x423530 <munmap> 0x428523 <get_mapping+771>: nopl 0x0(%rax,%rax,1) 0x428528 <get_mapping+776>: jmpq 0x428485 <get_mapping+613> (gdb) bt #0 0x00000000004284e3 in get_mapping (type=<value optimized out>, key=<value optimized out>, mappedp=0x6a28b8) at nscd_helper.c:419 #1 0x0000000000428697 in __nscd_get_map_ref (type=GETFDPW, name=0x476c3f "passwd", mapptr=0x6a28b0, gc_cyclep=0x7fffffffb4ac) at nscd_helper.c:450 #2 0x0000000000425e65 in nscd_getpw_r (key=0x7fffffffb506 "10682", keylen=6, type=GETPWBYUID, resultbuf=0x6a1c00, buffer=0x6e75722f7261762f <Address 0x6e75722f7261762f out of bounds>, buflen=1, result=0x7fffffffb5d0) at nscd_getpw_r.c:97 #3 0x0000000000426236 in __nscd_getpwuid_r (uid=<value optimized out>, resultbuf=0x6a1c00, buffer=0x6a59e0 "", buflen=1024, result=0x7fffffffb5d0) at nscd_getpw_r.c:65 #4 0x0000000000421a85 in __getpwuid_r (uid=10682, resbuf=0x6a1c00, buffer=0x6a59e0 "", buflen=1024, result=0x7fffffffb5d0) at ../nss/getXXbyYY_r.c:191 #5 0x00000000004217fd in getpwuid (uid=10682) at ../nss/getXXbyYY.c:116 #6 0x0000000000400353 in main () at getpwuid.c:10 (gdb) stepi Cannot access memory at address 0x8 (gdb) bt #0 0x00000000004284e4 in get_mapping (type=<value optimized out>, Cannot access memory at address 0xfffffffffffffea8 Cannot access memory at address 0x8 key=<value optimized out>, mappedp=) at nscd_helper.c:419 (gdb) -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/12491] Calling getpwuid in a statically linked program should return an error, not a seg fault. 2011-02-14 23:32 [Bug libc/12491] New: Calling getpwuid in a statically linked program should return an error, not a seg fault geir at cray dot com 2011-03-04 23:55 ` [Bug libc/12491] " geir at cray dot com @ 2011-04-18 2:26 ` drepper.fsp at gmail dot com 2011-09-15 16:15 ` geir at cray dot com ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: drepper.fsp at gmail dot com @ 2011-04-18 2:26 UTC (permalink / raw) To: glibc-bugs http://sourceware.org/bugzilla/show_bug.cgi?id=12491 Ulrich Drepper <drepper.fsp at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX --- Comment #2 from Ulrich Drepper <drepper.fsp at gmail dot com> 2011-04-18 02:26:16 UTC --- getpwuid works just fine under the only conditions when it cane work, just as described in the link message. If you overlook that message it is your problem. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/12491] Calling getpwuid in a statically linked program should return an error, not a seg fault. 2011-02-14 23:32 [Bug libc/12491] New: Calling getpwuid in a statically linked program should return an error, not a seg fault geir at cray dot com 2011-03-04 23:55 ` [Bug libc/12491] " geir at cray dot com 2011-04-18 2:26 ` drepper.fsp at gmail dot com @ 2011-09-15 16:15 ` geir at cray dot com 2014-06-27 13:51 ` fweimer at redhat dot com 2021-09-12 16:46 ` ovilewade9 at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: geir at cray dot com @ 2011-09-15 16:15 UTC (permalink / raw) To: glibc-bugs http://sourceware.org/bugzilla/show_bug.cgi?id=12491 --- Comment #3 from Geir Johansen <geir at cray dot com> 2011-09-15 16:14:45 UTC --- (In reply to comment #2) > getpwuid works just fine under the only conditions when it can work, just as > described in the link message. If you overlook that message it is your > problem. My editorial comment on this resolution: If the nscd daemon is running on the system, the program will run fine without problems. If the nscd daemon is not running on the system, the program will get a segmentation fault and the user will not have any idea why the program is failing. In my opinion this behavior is unacceptable. The library should be more robust and at the very least report an error in this case. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/12491] Calling getpwuid in a statically linked program should return an error, not a seg fault. 2011-02-14 23:32 [Bug libc/12491] New: Calling getpwuid in a statically linked program should return an error, not a seg fault geir at cray dot com ` (2 preceding siblings ...) 2011-09-15 16:15 ` geir at cray dot com @ 2014-06-27 13:51 ` fweimer at redhat dot com 2021-09-12 16:46 ` ovilewade9 at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: fweimer at redhat dot com @ 2014-06-27 13:51 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=12491 Florian Weimer <fweimer at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags| |security- -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/12491] Calling getpwuid in a statically linked program should return an error, not a seg fault. 2011-02-14 23:32 [Bug libc/12491] New: Calling getpwuid in a statically linked program should return an error, not a seg fault geir at cray dot com ` (3 preceding siblings ...) 2014-06-27 13:51 ` fweimer at redhat dot com @ 2021-09-12 16:46 ` ovilewade9 at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: ovilewade9 at gmail dot com @ 2021-09-12 16:46 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=12491 ovile009988 <ovilewade9 at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ovilewade9 at gmail dot com --- Comment #4 from ovile009988 <ovilewade9 at gmail dot com> --- Thanks for share me it update look https://wordunscrambler.online and see some use full tips to play game. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-09-12 16:46 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-02-14 23:32 [Bug libc/12491] New: Calling getpwuid in a statically linked program should return an error, not a seg fault geir at cray dot com 2011-03-04 23:55 ` [Bug libc/12491] " geir at cray dot com 2011-04-18 2:26 ` drepper.fsp at gmail dot com 2011-09-15 16:15 ` geir at cray dot com 2014-06-27 13:51 ` fweimer at redhat dot com 2021-09-12 16:46 ` ovilewade9 at gmail dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).