Blame SOURCES/libnfsidmap-0.2-negativerets.patch

76e38b
diff -up libnfsidmap-0.25/nss.c.save libnfsidmap-0.25/nss.c
76e38b
--- libnfsidmap-0.25/nss.c.save	2016-08-17 14:09:18.797550853 -0400
76e38b
+++ libnfsidmap-0.25/nss.c	2016-08-17 14:09:39.021905256 -0400
76e38b
@@ -44,6 +44,7 @@
76e38b
 #include <netdb.h>
76e38b
 #include <err.h>
76e38b
 #include <grp.h>
76e38b
+#include <limits.h>
76e38b
 #include "nfsidmap.h"
76e38b
 #include "nfsidmap_internal.h"
76e38b
 #include "cfg.h"
76e38b
@@ -171,6 +172,9 @@ static struct passwd *nss_getpwnam(const
76e38b
 	char *localname;
76e38b
 	int err = ENOMEM;
76e38b
 
76e38b
+	if (buflen > UINT_MAX)
76e38b
+		goto err;
76e38b
+
76e38b
 	buf = malloc(sizeof(*buf) + buflen);
76e38b
 	if (buf == NULL)
76e38b
 		goto err;
76e38b
@@ -236,8 +240,11 @@ static int nss_name_to_gid(char *name, g
76e38b
 	if (!localname)
76e38b
 		goto out;
76e38b
 
76e38b
+	err = -ENOMEM;
76e38b
+	if (buflen > UINT_MAX)
76e38b
+		goto out;
76e38b
+
76e38b
 	do {
76e38b
-		err = -ENOMEM;
76e38b
 		buf = malloc(buflen);
76e38b
 		if (!buf)
76e38b
 			goto out_name;