+Sat Aug 31 23:46:04 CDT 2002 Adam Heath <doogie@debian.org>
+
+ * dpkg-deb/main.c, dselect/main.cc, include/dpkg.h.in, lib/startup.c
+ main/main.c, main/query.c, split/main.c: Don't call nffreeall, in any
+ of the c/c++ programs. It appears dselect slightly corrupts it's
+ memory enough that it can't be freed without segfaulting.
+
Sat Aug 31 23:42:08 CDT 2002 Adam Heath <doogie@debian.org>
* version-nr, debian/changelog: Modified for version 1.10.6.
dpkg (1.10.6) unstable; urgency=low
+ * Don't call nffreeall, in any of the c/c++ programs. It appears dselect
+ slightly corrupts it's memory enough that it can't be freed without
+ segfaulting. Closes: #159023.
+
-- Adam Heath <doogie@debian.org> UNRELEASED
dpkg (1.10.5) unstable; urgency=low
unsetenv("GZIP");
action(argv);
- standard_shutdown();
+ standard_shutdown(0);
exit(0);
}
}
cursesoff();
- standard_shutdown();
+ standard_shutdown(0);
return(0);
}
/*** from startup.c ***/
void standard_startup(jmp_buf *ejbuf, int argc, const char *const **argv, const char *prog, int loadcfg, const struct cmdinfo cmdinfos[]);
-void standard_shutdown(void);
+void standard_shutdown(int freemem);
/*** from ehandle.c ***/
myopt(argv,cmdinfos);
}
-void standard_shutdown(void) {
+void standard_shutdown(int freemem) {
set_error_display(0,0);
error_unwind(ehflag_normaltidy);
- nffreeall();
+ if (freemem)
+ nffreeall();
}
actionfunction(argv);
- standard_shutdown();
+ standard_shutdown(0);
return reportbroken_retexitstatus();
}
actionfunction(argv);
- standard_shutdown();
+ standard_shutdown(0);
return reportbroken_retexitstatus();
}
if (ferror(stderr)) werr("stderr");
- standard_shutdown();
+ standard_shutdown(0);
exit(0);
}