summaryrefslogtreecommitdiffstats
path: root/sbin/sysctl
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-06-27 15:23:12 +0000
committerhselasky <hselasky@FreeBSD.org>2014-06-27 15:23:12 +0000
commit465e750b1418c7bcbd18c4e34b36120ff51ae0fc (patch)
tree04814412c3d111c44571c8be1ed57938d3551586 /sbin/sysctl
parent63fdb1686c649e658e04fc473d78ccfc263e6809 (diff)
downloadFreeBSD-src-465e750b1418c7bcbd18c4e34b36120ff51ae0fc.zip
FreeBSD-src-465e750b1418c7bcbd18c4e34b36120ff51ae0fc.tar.gz
Don't hide zero-length strings when doing sysctl listings.
MFC after: 1 week
Diffstat (limited to 'sbin/sysctl')
-rw-r--r--sbin/sysctl/sysctl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c
index a86d659..1359645 100644
--- a/sbin/sysctl/sysctl.c
+++ b/sbin/sysctl/sysctl.c
@@ -710,9 +710,10 @@ show_var(int *oid, int nlen)
warnx("malloc failed");
return (1);
}
+ ctltype = (kind & CTLTYPE);
len = j;
i = sysctl(oid, nlen, val, &len, 0, 0);
- if (i || !len) {
+ if (i != 0 || (len == 0 && ctltype != CTLTYPE_STRING)) {
free(oval);
return (1);
}
@@ -724,7 +725,6 @@ show_var(int *oid, int nlen)
}
val[len] = '\0';
p = val;
- ctltype = (kind & CTLTYPE);
sign = ctl_sign[ctltype];
intlen = ctl_size[ctltype];
OpenPOWER on IntegriCloud