svn commit: r303681 - stable/9/lib/libc/gen

2016-08-02 Thread Mark Johnston
Author: markj
Date: Tue Aug  2 21:17:59 2016
New Revision: 303681
URL: https://svnweb.freebsd.org/changeset/base/303681

Log:
  MFC r301710:
  Fix an infinite loop in setnetgrent(3) with NIS netgroups.

Modified:
  stable/9/lib/libc/gen/getnetgrent.c
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/gen/getnetgrent.c
==
--- stable/9/lib/libc/gen/getnetgrent.c Tue Aug  2 21:17:34 2016
(r303680)
+++ stable/9/lib/libc/gen/getnetgrent.c Tue Aug  2 21:17:59 2016
(r303681)
@@ -559,6 +559,10 @@ read_for_group(const char *group)
continue;
}
}
+   if (strlen(result) == 0) {
+   free(result);
+   return (NULL);
+   }
snprintf(line, LINSIZ, "%s %s", group, result);
free(result);
}
___
svn-src-stable-9@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"


svn commit: r303695 - stable/9/sys/rpc

2016-08-02 Thread Garrett Cooper
Author: ngie
Date: Wed Aug  3 01:26:02 2016
New Revision: 303695
URL: https://svnweb.freebsd.org/changeset/base/303695

Log:
  MFstable/10 r303692:
  
  MFstable/11 r303691:
  
  MFC r302550,r302551,r302552,r302553:
  
  r302550:
  
  Deobfuscate cleanup path in clnt_dg_create(..)
  
  Similar to r300836 and r301800, cl and cu will always be non-NULL as they're
  allocated using the mem_alloc routines, which always use
  `malloc(..., M_WAITOK)`.
  
  Deobfuscating the cleanup path fixes a leak where if cl was NULL and
  cu was not, cu would not be free'd, and also removes a duplicate test for
  cl not being NULL.
  
  CID: 1007033, 1007344
  
  r302551:
  
  Deobfuscate cleanup path in clnt_vc_create(..)
  
  Similar to r300836, r301800, and r302550, cl and ct will always
  be non-NULL as they're allocated using the mem_alloc routines,
  which always use `malloc(..., M_WAITOK)`.
  
  CID: 1007342
  
  r302552:
  
  Convert `svc_xprt_alloc(..)` and `svc_xprt_free(..)`'s prototypes to
  ANSI C style prototypes
  
  r302553:
  
  Don't test for xpt not being NULL before calling svc_xprt_free(..)
  
  svc_xprt_alloc(..) will always return initialized memory as it uses
  mem_alloc(..) under the covers, which uses malloc(.., M_WAITOK, ..).
  
  CID: 1007341

Modified:
  stable/9/sys/rpc/clnt_dg.c
  stable/9/sys/rpc/clnt_vc.c
  stable/9/sys/rpc/svc.c
  stable/9/sys/rpc/svc_dg.c
Directory Properties:
  stable/9/   (props changed)
  stable/9/sys/   (props changed)

Modified: stable/9/sys/rpc/clnt_dg.c
==
--- stable/9/sys/rpc/clnt_dg.c  Wed Aug  3 01:25:44 2016(r303694)
+++ stable/9/sys/rpc/clnt_dg.c  Wed Aug  3 01:26:02 2016(r303695)
@@ -313,11 +313,9 @@ recheck_socket:
cl->cl_netid = NULL;
return (cl);
 err2:
-   if (cl) {
-   mem_free(cl, sizeof (CLIENT));
-   if (cu)
-   mem_free(cu, sizeof (*cu));
-   }
+   mem_free(cl, sizeof (CLIENT));
+   mem_free(cu, sizeof (*cu));
+
return (NULL);
 }
 

Modified: stable/9/sys/rpc/clnt_vc.c
==
--- stable/9/sys/rpc/clnt_vc.c  Wed Aug  3 01:25:44 2016(r303694)
+++ stable/9/sys/rpc/clnt_vc.c  Wed Aug  3 01:26:02 2016(r303695)
@@ -270,12 +270,10 @@ clnt_vc_create(
return (cl);
 
 err:
-   if (ct) {
-   mtx_destroy(&ct->ct_lock);
-   mem_free(ct, sizeof (struct ct_data));
-   }
-   if (cl)
-   mem_free(cl, sizeof (CLIENT));
+   mtx_destroy(&ct->ct_lock);
+   mem_free(ct, sizeof (struct ct_data));
+   mem_free(cl, sizeof (CLIENT));
+
return ((CLIENT *)NULL);
 }
 

Modified: stable/9/sys/rpc/svc.c
==
--- stable/9/sys/rpc/svc.c  Wed Aug  3 01:25:44 2016(r303694)
+++ stable/9/sys/rpc/svc.c  Wed Aug  3 01:26:02 2016(r303695)
@@ -842,7 +842,7 @@ svcerr_progvers(struct svc_req *rqstp, r
  * parameters.
  */
 SVCXPRT *
-svc_xprt_alloc()
+svc_xprt_alloc(void)
 {
SVCXPRT *xprt;
SVCXPRT_EXT *ext;
@@ -859,8 +859,7 @@ svc_xprt_alloc()
  * Free a server transport structure.
  */
 void
-svc_xprt_free(xprt)
-   SVCXPRT *xprt;
+svc_xprt_free(SVCXPRT *xprt)
 {
 
mem_free(xprt->xp_p3, sizeof(SVCXPRT_EXT));

Modified: stable/9/sys/rpc/svc_dg.c
==
--- stable/9/sys/rpc/svc_dg.c   Wed Aug  3 01:25:44 2016(r303694)
+++ stable/9/sys/rpc/svc_dg.c   Wed Aug  3 01:26:02 2016(r303695)
@@ -142,9 +142,8 @@ svc_dg_create(SVCPOOL *pool, struct sock
return (xprt);
 freedata:
(void) printf(svc_dg_str, __no_mem_str);
-   if (xprt) {
-   svc_xprt_free(xprt);
-   }
+   svc_xprt_free(xprt);
+
return (NULL);
 }
 
___
svn-src-stable-9@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"