[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: