summary refs log tree commit diff
path: root/src/libnsss/nsss_switch_getgrnam_r.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnsss/nsss_switch_getgrnam_r.c')
-rw-r--r--src/libnsss/nsss_switch_getgrnam_r.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libnsss/nsss_switch_getgrnam_r.c b/src/libnsss/nsss_switch_getgrnam_r.c
index e6d00ec..c35b8ef 100644
--- a/src/libnsss/nsss_switch_getgrnam_r.c
+++ b/src/libnsss/nsss_switch_getgrnam_r.c
@@ -26,10 +26,12 @@ int nsss_switch_getgrnam_r (char const *name, struct group *gr, char *buf, size_
   nsss_switch_end(&a, NSSS_SWITCH_GRP) ;
   if (!nsss_grp_copy(gr, buf, buflen, &gr2, sa.s, sa.len, genalloc_s(char *, &ga), genalloc_len(char *, &ga)))
   {
+    genalloc_free(char *, &ga) ;
     stralloc_free(&sa) ;
     *grp = 0 ;
     return errno ;
   }
+  genalloc_free(char *, &ga) ;
   stralloc_free(&sa) ;
   *grp = gr ;
   return (errno = e, 0) ;