summaryrefslogtreecommitdiff
path: root/lib/libjail
diff options
context:
space:
mode:
authorPedro F. Giffuni <pfg@FreeBSD.org>2017-04-16 19:23:10 +0000
committerPedro F. Giffuni <pfg@FreeBSD.org>2017-04-16 19:23:10 +0000
commit6fd94039ef6c02ab3ffa8d50b8216967cb6e4e84 (patch)
tree4623856fc25908567630c79bfe95972a134e2f36 /lib/libjail
parent2f8c6c0a587f7b9276ffeb1713f063026cfc9093 (diff)
downloadsrc-test-6fd94039ef6c02ab3ffa8d50b8216967cb6e4e84.tar.gz
src-test-6fd94039ef6c02ab3ffa8d50b8216967cb6e4e84.zip
libjail: make allocation in jailparam_all() somewhat more robust.
Unsign some variables involved in allocation as they will never be negative anyways. Provide some bounds checking through reallocarray(3). This is all very unlikely to have any visible effect. Reviewed by: jamie MFC after: 3 weeks
Notes
Notes: svn path=/head/; revision=317036
Diffstat (limited to 'lib/libjail')
-rw-r--r--lib/libjail/jail.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c
index fd9bc58c97e3d..2741ea8f6493d 100644
--- a/lib/libjail/jail.c
+++ b/lib/libjail/jail.c
@@ -200,7 +200,7 @@ jailparam_all(struct jailparam **jpp)
{
struct jailparam *jp, *tjp;
size_t mlen1, mlen2, buflen;
- int njp, nlist;
+ unsigned njp, nlist;
int mib1[CTL_MAXNAME], mib2[CTL_MAXNAME - 2];
char buf[MAXPATHLEN];
@@ -250,7 +250,7 @@ jailparam_all(struct jailparam **jpp)
/* Add the parameter to the list */
if (njp >= nlist) {
nlist *= 2;
- tjp = realloc(jp, nlist * sizeof(*jp));
+ tjp = reallocarray(jp, nlist, sizeof(*jp));
if (tjp == NULL)
goto error;
jp = tjp;
@@ -259,7 +259,7 @@ jailparam_all(struct jailparam **jpp)
goto error;
mib1[1] = 2;
}
- jp = realloc(jp, njp * sizeof(*jp));
+ jp = reallocarray(jp, njp, sizeof(*jp));
*jpp = jp;
return (njp);