Bug#188235: dpkg: Call to setjmp() seems to destroy argv
Package: dpkg
Version: 1.10.9
Severity: normal
This piece of code:
if (setjmp(*ejbuf)) { /* expect warning about possible clobbering of argv */
error_unwind(ehflag_bombout); exit(2);
}
Seems to be destroying argv indeed. (Some playing with gdb confirmed that)
Somehow this is not a problem usually, but sometimes it is. For example, when
calling "dpkg --root=/tmproot/ -l", the root argument is just ignored. I
myself don't know why setjmp() destroys stuff like this, unfortunately, so
I'm unable to fix this myself because I don't know what setjmp() really does
anyway.
"dpkg-query --root=/tmproot/ -l" does the job correctly, just execbackend()
is called incorrectly. (With an argv which points at a Null-pointer)
-- System Information
Debian Release: testing/unstable
Kernel Version: Linux ruby 2.4.21-pre5-ac3 #2 Tue Mar 18 00:29:13 CET 2003 i686 unknown unknown GNU/Linux
Versions of the packages dpkg depends on:
ii dselect 1.10.9 a user tool to manage Debian packages
ii libc6 2.3.1-16 GNU C Library: Shared libraries and Timezone
Reply to: