From: Francesco P. L. <fr...@de...> - 2003-03-25 09:16:20
|
I found apparently a double freeing problem in mod_cap.c while working on debian packaging. This applies to current stable libcap (1.10) and 1.2.8. But the result is not different with our other cvs snapshot of libcap. The result is a SIGSEV in lp_debug() at login. Documentation of cap_free() is quite ambiguous, but I think res is already released in cap_free(). diff -urN proftpd-1.2.8/modules/mod_cap.c proftpd-1.2.8-debian/modules/mod_cap.c --- proftpd-1.2.8/modules/mod_cap.c 2003-01-09 05:27:52.000000000 +0100 +++ proftpd-1.2.8-debian/modules/mod_cap.c 2003-03-22 11:11:56.000000000 +0100 @@ -46,7 +46,7 @@ # ifdef HAVE_LINUX_CAPABILITY_H # include <linux/capability.h> # endif /* HAVE_LINUX_CAPABILITY_H */ -# include "../lib/libcap/include/sys/capability.h" +# include <sys/capability.h> /* What are these for? */ # undef WNOHANG @@ -83,7 +83,6 @@ log_debug(DEBUG1, MOD_CAP_VERSION ": capabilities '%s'.", res); cap_free(&caps); - free(res); } /* create a new capability structure */ -- Francesco P. Lovergine |