Package: dpkg
Version: 1.13.21
Severity: normal

Nearly all the dpkg calls to ohshite use _() for localization;
unfortunately, as written, it destroys errno, and causes bogus
messages:

$ sudo gdb --args dpkg -i /var/cache/apt/archives/acct_6.3.99+6.4pre1-2_i386.deb
(gdb) break fork
Breakpoint 2, 0xa7e65bf6 in fork () from /lib/tls/i686/cmov/libc.so.6
(gdb) break malloc
Breakpoint 3 at 0xa7e3c8b6
(gdb) d 2
(gdb) c
Continuing.
Breakpoint 3, 0xa7e3c8b6 in malloc () from /lib/tls/i686/cmov/libc.so.6
(gdb) return 0
Make selected stack frame return now? (y or n) y
#0  0x0805f52d in ?? ()
(gdb) c
Continuing.
dpkg: error processing /var/cache/apt/archives/acct_6.3.99+6.4pre1-2_i386.deb 
(--install):
 malloc failed (131 bytes): No such file or directory
 ^^^^^^^^^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^

[..or..]
Breakpoint 3, 0xa7ed48b6 in malloc () from /lib/tls/i686/cmov/libc.so.6
(gdb) return 0
Make selected stack frame return now? (y or n) y
#0  0x0805eed6 in ?? ()
(gdb) c
Continuing.
dpkg: error processing /var/cache/apt/archives/acct_6.3.99+6.4pre1-2_i386.deb 
(--install):
 out of memory for new cleanup entry: Illegal seek
 ^^^^^^^^^^^^^                        ^^^^^^^^^^^^

It might be acceptable to pass the literal string to ohshite(), which
then first saves errno, then calls _(), then either restores errno, or
uses strerror().


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to