Author: pfg
Date: Fri Feb 20 01:02:32 2015
New Revision: 279035
URL: https://svnweb.freebsd.org/changeset/base/279035

Log:
  Fix small memleaks in nis_passwd() and nis_group().
  
  These only occur upon error.
  
  Code Review:  https://reviews.freebsd.org/D1849
  Reviewed by:  delphij
  
  CID:  1016715
  CID:  1016717

Modified:
  head/lib/libc/gen/getgrent.c
  head/lib/libc/gen/getpwent.c

Modified: head/lib/libc/gen/getgrent.c
==============================================================================
--- head/lib/libc/gen/getgrent.c        Fri Feb 20 00:55:38 2015        
(r279034)
+++ head/lib/libc/gen/getgrent.c        Fri Feb 20 01:02:32 2015        
(r279035)
@@ -1173,8 +1173,10 @@ nis_group(void *retval, void *mdata, va_
                 * terminator, alignment padding, and one (char *)
                 * pointer for the member list terminator.
                 */
-               if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *))
+               if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *)) {
+                       free(result);
                        goto erange;
+               }
                memcpy(buffer, result, resultlen);
                buffer[resultlen] = '\0';
                free(result);

Modified: head/lib/libc/gen/getpwent.c
==============================================================================
--- head/lib/libc/gen/getpwent.c        Fri Feb 20 00:55:38 2015        
(r279034)
+++ head/lib/libc/gen/getpwent.c        Fri Feb 20 01:02:32 2015        
(r279035)
@@ -1392,8 +1392,10 @@ nis_passwd(void *retval, void *mdata, va
                                continue;
                        }
                }
-               if (resultlen >= bufsize)
+               if (resultlen >= bufsize) {
+                       free(result);
                        goto erange;
+               }
                memcpy(buffer, result, resultlen);
                buffer[resultlen] = '\0';
                free(result);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to