]> andersk Git - nss_nonlocal.git/commitdiff
Fix some memory leaks.
authorAnders Kaseorg <andersk@mit.edu>
Mon, 28 Jul 2008 11:53:47 +0000 (07:53 -0400)
committerAnders Kaseorg <andersk@mit.edu>
Mon, 28 Jul 2008 14:24:32 +0000 (10:24 -0400)
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
nonlocal-group.c

index 05f4d4643cda4e4279a7809cba442677d5531387..532dd73daf67db8e834362b201ef199d842c7941 100644 (file)
@@ -375,6 +375,7 @@ _nss_nonlocal_initgroups_dyn(const char *user, gid_t group, long int *start,
     if (status == NSS_STATUS_SUCCESS) {
        local_users_gid = local_users_group.gr_gid;
     } else if (status == NSS_STATUS_TRYAGAIN) {
     if (status == NSS_STATUS_SUCCESS) {
        local_users_gid = local_users_group.gr_gid;
     } else if (status == NSS_STATUS_TRYAGAIN) {
+       free(buffer);
        return status;
     } else {
        syslog(LOG_WARNING, "nss_nonlocal: Group %s does not exist locally!",
        return status;
     } else {
        syslog(LOG_WARNING, "nss_nonlocal: Group %s does not exist locally!",
@@ -398,6 +399,7 @@ _nss_nonlocal_initgroups_dyn(const char *user, gid_t group, long int *start,
        if (status == NSS_STATUS_SUCCESS) {
            gid = nonlocal_users_group.gr_gid;
        } else if (status == NSS_STATUS_TRYAGAIN) {
        if (status == NSS_STATUS_SUCCESS) {
            gid = nonlocal_users_group.gr_gid;
        } else if (status == NSS_STATUS_TRYAGAIN) {
+           free(buffer);
            errno = old_errno;
            return status;
        } else {
            errno = old_errno;
            return status;
        } else {
This page took 0.30057 seconds and 5 git commands to generate.