regex.c: regex_getpwnam() would leak memory if the name was not found. nss.c: nss_name_to_gid() the conditional frees look like a potential memory leak, removed the unnecessary conditions. Signed-off-by: Alice Mitchell <ajmitchell@xxxxxxxxxx> --- support/nfsidmap/nss.c | 6 ++---- support/nfsidmap/regex.c | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/support/nfsidmap/nss.c b/support/nfsidmap/nss.c index 669760b..0f43076 100644 --- a/support/nfsidmap/nss.c +++ b/support/nfsidmap/nss.c @@ -365,10 +365,8 @@ static int _nss_name_to_gid(char *name, gid_t *gid, int dostrip) out_buf: free(buf); out_name: - if (dostrip) - free(localname); - if (get_reformat_group()) - free(ref_name); + free(localname); + free(ref_name); out: return err; } diff --git a/support/nfsidmap/regex.c b/support/nfsidmap/regex.c index fdbb2e2..958b4ac 100644 --- a/support/nfsidmap/regex.c +++ b/support/nfsidmap/regex.c @@ -157,6 +157,7 @@ again: IDMAP_LOG(4, ("regexp_getpwnam: name '%s' mapped to '%s'", name, localname)); + free(localname); *err_p = 0; return pw; -- 2.27.0