svn commit: r356476 - head/lib/libjail

Mark Johnston markj at FreeBSD.org
Tue Jan 7 21:44:28 UTC 2020


Author: markj
Date: Tue Jan  7 21:44:27 2020
New Revision: 356476
URL: https://svnweb.freebsd.org/changeset/base/356476

Log:
  libjail: Handle an error from reallocarray() when trimming the buffer.
  
  There is no API guarantee that realloc() will not fail when the buffer
  is shrinking.  Handle it by simply returning the untrimmed buffer.
  While this is unlikely to ever happen in practice, it seems worth
  handling just to silence static analyzer warnings.
  
  PR:		243106
  Submitted by:	Hans Christian Woithe <chwoithe at yahoo.com>
  MFC after:	1 week

Modified:
  head/lib/libjail/jail.c

Modified: head/lib/libjail/jail.c
==============================================================================
--- head/lib/libjail/jail.c	Tue Jan  7 21:29:42 2020	(r356475)
+++ head/lib/libjail/jail.c	Tue Jan  7 21:44:27 2020	(r356476)
@@ -262,7 +262,10 @@ jailparam_all(struct jailparam **jpp)
 			goto error;
 		mib1[1] = 2;
 	}
-	jp = reallocarray(jp, njp, sizeof(*jp));
+	/* Just return the untrimmed buffer if reallocarray() somehow fails. */
+	tjp = reallocarray(jp, njp, sizeof(*jp));
+	if (tjp != NULL)
+		jp = tjp;
 	*jpp = jp;
 	return (njp);
 


More information about the svn-src-head mailing list