shadow/lib
Christian Göttsche 7078ed1e0b semanage: disconnect to free libsemanage internals
Destroying the handle does not actually disconnect, see [1].
Also free the key on user removal.

[1]: e9072e7d45/libsemanage/src/direct_api.c (L330)

Example adduser leak:

    Direct leak of 1008 byte(s) in 14 object(s) allocated from:
        #0 0x5638f2e782ae in __interceptor_malloc (./src/useradd+0xee2ae)
        #1 0x7fb5cfffad09 in dbase_file_init src/database_file.c:170:45

    Direct leak of 392 byte(s) in 7 object(s) allocated from:
        #0 0x5638f2e782ae in __interceptor_malloc (./src/useradd+0xee2ae)
        #1 0x7fb5cfffc929 in dbase_policydb_init src/database_policydb.c:187:27

    Direct leak of 144 byte(s) in 2 object(s) allocated from:
        #0 0x5638f2e782ae in __interceptor_malloc (./src/useradd+0xee2ae)
        #1 0x7fb5cfffb519 in dbase_join_init src/database_join.c:249:28

    [...]
2023-04-26 17:52:54 -05:00
..
.indent.pro [svn-upgrade] Integrating new upstream version, shadow (4.0.8) 2007-10-07 11:46:07 +00:00
alloc.h libmisc: Add safer allocation macros 2023-02-23 20:28:43 -06:00
bit.h lib: bit_ceil_wrapul(): stop recursion 2023-02-24 12:44:14 -06:00
commonio.c commonio: free removed database entries 2023-04-26 17:52:54 -05:00
commonio.h changing lock mechanism 2022-12-29 13:58:49 -06:00
defines.h Add STRLEN(): a constexpr strlen(3) for string literals 2023-03-28 13:00:38 +02:00
encrypt.c Merge pull request #451 from hallyn/2021-12-05/license 2022-01-02 18:38:42 -06:00
exitcodes.h Update licensing info 2021-12-23 19:36:50 -06:00
faillog.h Update licensing info 2021-12-23 19:36:50 -06:00
fields.c Overhaul valid_field() 2023-03-31 09:53:40 -05:00
fputsx.c Update licensing info 2021-12-23 19:36:50 -06:00
get_gid.c Remove superfluous casts 2023-02-09 10:03:03 -06:00
get_pid.c Validate fds created by the user 2023-02-24 16:20:57 -06:00
get_uid.c Remove superfluous casts 2023-02-09 10:03:03 -06:00
getdef.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
getdef.h Update licensing info 2021-12-23 19:36:50 -06:00
getlong.c Update licensing info 2021-12-23 19:36:50 -06:00
getulong.c Update licensing info 2021-12-23 19:36:50 -06:00
groupio.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
groupio.h Update licensing info 2021-12-23 19:36:50 -06:00
groupmem.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
gshadow_.h Update licensing info 2021-12-23 19:36:50 -06:00
gshadow.c Prefer strcpy(3) to strlcpy(3) when either works 2023-03-28 13:00:38 +02:00
lockpw.c Don't redefine errno(3) 2022-12-22 11:43:29 +01:00
Makefile.am Assume getutent(3) exists (remove dead code) 2023-02-08 17:21:34 +01:00
mempcpy.h Add mempcpy(3) 2023-02-16 11:29:33 +01:00
nscd.c Don't redefine errno(3) 2022-12-22 11:43:29 +01:00
nscd.h * configure.in, lib/nscd.h, lib/nscd.c: Added --with-nscd flag to 2008-08-30 18:30:36 +00:00
nss.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
pam_defs.h Declare constant data structure const 2023-01-25 12:31:17 +01:00
port.c Remove superfluous casts 2023-02-09 10:03:03 -06:00
port.h Update licensing info 2021-12-23 19:36:50 -06:00
prototypes.h useradd/usermod: add --selinux-range argument 2023-04-19 09:19:19 +02:00
pwauth.c Don't redefine errno(3) 2022-12-22 11:43:29 +01:00
pwauth.h Add header guards 2022-05-24 07:49:11 -05:00
pwio.c Remove superfluous casts 2023-02-09 10:03:03 -06:00
pwio.h Update licensing info 2021-12-23 19:36:50 -06:00
pwmem.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
run_part.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
run_part.h Add header guards 2022-05-24 07:49:11 -05:00
selinux.c selinux: use type safe function pointer assignment 2023-03-20 08:47:52 +01:00
semanage.c semanage: disconnect to free libsemanage internals 2023-04-26 17:52:54 -05:00
sgetgrent.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
sgetpwent.c Raise limit for passwd and shadow entry length 2022-10-14 10:41:40 +02:00
sgetspent.c Don't redefine errno(3) 2022-12-22 11:43:29 +01:00
sgroupio.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
sgroupio.h Update licensing info 2021-12-23 19:36:50 -06:00
shadow.c Remove superfluous casts 2023-02-09 10:03:03 -06:00
shadowio.c Remove superfluous casts 2023-02-09 10:03:03 -06:00
shadowio.h Update licensing info 2021-12-23 19:36:50 -06:00
shadowlog_internal.h Fix typos 2023-01-26 22:44:39 -06:00
shadowlog.c lib: provide default values for shadow_progname/shadow_logfd 2021-12-27 16:28:23 +00:00
shadowlog.h Drop obsolete prototype for log_dolog() 2022-08-06 11:27:56 -05:00
shadowmem.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
spawn.c Merge pull request #451 from hallyn/2021-12-05/license 2022-01-02 18:38:42 -06:00
sssd.c sssd: skip flushing if executable does not exist 2023-04-03 13:05:30 +02:00
sssd.h Flush sssd caches in addition to nscd caches 2018-09-13 14:20:02 +02:00
stpecpy.h Add stpecpy() 2023-02-16 11:29:33 +01:00
stpeprintf.h Add stpeprintf() 2023-02-16 11:29:33 +01:00
subordinateio.c Use safer allocation macros 2023-02-23 20:28:43 -06:00
subordinateio.h fix newusers when nss provides subids 2021-05-23 08:16:16 -05:00
tcbfuncs.c Remove superfluous casts 2023-02-09 10:03:03 -06:00
tcbfuncs.h * lib/tcbfuncs.h: Re-indent. 2010-03-18 19:23:00 +00:00