about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2019-06-20 13:55:01 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2019-06-20 13:55:01 +0000
commit442699c9edec2f3e4243b322f4adc81ece6c4c83 (patch)
tree0015603c7e4289dd26cb5d71d14884481bb9951b
parent4d93571ced7ecd1cfe4d3c78e940a383816dcae1 (diff)
downloadnsss-442699c9edec2f3e4243b322f4adc81ece6c4c83.tar.gz
nsss-442699c9edec2f3e4243b322f4adc81ece6c4c83.tar.xz
nsss-442699c9edec2f3e4243b322f4adc81ece6c4c83.zip
Holy memory leaks, Batman
-rw-r--r--src/libnsss/nsss_all_getgrent_r.c2
-rw-r--r--src/libnsss/nsss_all_getgrgid_r.c2
-rw-r--r--src/libnsss/nsss_all_getgrnam_r.c2
-rw-r--r--src/libnsss/nsss_switch_getgrent_r.c2
-rw-r--r--src/libnsss/nsss_switch_getgrgid_r.c2
-rw-r--r--src/libnsss/nsss_switch_getgrnam_r.c2
-rw-r--r--src/libnsss/nsss_unix_getgrent_r.c2
-rw-r--r--src/libnsss/nsss_unix_getgrgid_r.c2
-rw-r--r--src/libnsss/nsss_unix_getgrnam_r.c2
9 files changed, 18 insertions, 0 deletions
diff --git a/src/libnsss/nsss_all_getgrent_r.c b/src/libnsss/nsss_all_getgrent_r.c
index 8cdcad6..3e0557d 100644
--- a/src/libnsss/nsss_all_getgrent_r.c
+++ b/src/libnsss/nsss_all_getgrent_r.c
@@ -28,10 +28,12 @@ int nsss_all_getgrent_r (struct group *gr, char *buf, size_t buflen, struct grou
   }
   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) ;
diff --git a/src/libnsss/nsss_all_getgrgid_r.c b/src/libnsss/nsss_all_getgrgid_r.c
index bd48322..3b01543 100644
--- a/src/libnsss/nsss_all_getgrgid_r.c
+++ b/src/libnsss/nsss_all_getgrgid_r.c
@@ -27,10 +27,12 @@ int nsss_all_getgrgid_r (gid_t gid, struct group *gr, char *buf, size_t buflen,
   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) ;
diff --git a/src/libnsss/nsss_all_getgrnam_r.c b/src/libnsss/nsss_all_getgrnam_r.c
index d129d3c..7d78110 100644
--- a/src/libnsss/nsss_all_getgrnam_r.c
+++ b/src/libnsss/nsss_all_getgrnam_r.c
@@ -27,10 +27,12 @@ int nsss_all_getgrnam_r (char const *name, struct group *gr, char *buf, size_t b
   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) ;
diff --git a/src/libnsss/nsss_switch_getgrent_r.c b/src/libnsss/nsss_switch_getgrent_r.c
index 97a7bbd..92a4264 100644
--- a/src/libnsss/nsss_switch_getgrent_r.c
+++ b/src/libnsss/nsss_switch_getgrent_r.c
@@ -26,10 +26,12 @@ int nsss_switch_getgrent_r (struct group *gr, char *buf, size_t buflen, struct g
   }
   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) ;
diff --git a/src/libnsss/nsss_switch_getgrgid_r.c b/src/libnsss/nsss_switch_getgrgid_r.c
index c87b57d..2eb4855 100644
--- a/src/libnsss/nsss_switch_getgrgid_r.c
+++ b/src/libnsss/nsss_switch_getgrgid_r.c
@@ -26,10 +26,12 @@ int nsss_switch_getgrgid_r (gid_t gid, struct group *gr, char *buf, size_t bufle
   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) ;
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) ;
diff --git a/src/libnsss/nsss_unix_getgrent_r.c b/src/libnsss/nsss_unix_getgrent_r.c
index 5ddc526..cec4d20 100644
--- a/src/libnsss/nsss_unix_getgrent_r.c
+++ b/src/libnsss/nsss_unix_getgrent_r.c
@@ -25,10 +25,12 @@ int nsss_unix_getgrent_r (struct group *gr, char *buf, size_t buflen, struct gro
   }
   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) ;
diff --git a/src/libnsss/nsss_unix_getgrgid_r.c b/src/libnsss/nsss_unix_getgrgid_r.c
index 5d3dbe5..d41cee3 100644
--- a/src/libnsss/nsss_unix_getgrgid_r.c
+++ b/src/libnsss/nsss_unix_getgrgid_r.c
@@ -25,10 +25,12 @@ int nsss_unix_getgrgid_r (gid_t gid, struct group *gr, char *buf, size_t buflen,
   nsss_unix_grp_end(&a) ;
   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) ;
diff --git a/src/libnsss/nsss_unix_getgrnam_r.c b/src/libnsss/nsss_unix_getgrnam_r.c
index bc63d78..05970d0 100644
--- a/src/libnsss/nsss_unix_getgrnam_r.c
+++ b/src/libnsss/nsss_unix_getgrnam_r.c
@@ -25,10 +25,12 @@ int nsss_unix_getgrnam_r (char const *name, struct group *gr, char *buf, size_t
   nsss_unix_grp_end(&a) ;
   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) ;