diff options
author | gibbs <gibbs@FreeBSD.org> | 2013-04-29 23:08:13 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 2013-04-29 23:08:13 +0000 |
commit | 73512b9268e8caa1295e184f69ba8260f8f0a97f (patch) | |
tree | b2a73e319a0d271212ebc48f062305c126a49ad9 /sys/xen | |
parent | 542feb6d728678f9a7f9437f0323a9bcfbaf7192 (diff) | |
download | FreeBSD-src-73512b9268e8caa1295e184f69ba8260f8f0a97f.zip FreeBSD-src-73512b9268e8caa1295e184f69ba8260f8f0a97f.tar.gz |
xenstore/xenstore.c:
Prevent access to invalid memory region when listing an empty
directory in the XenStore.
Reported by: Bei Guan
MFC after: 1 week
Diffstat (limited to 'sys/xen')
-rw-r--r-- | sys/xen/xenstore/xenstore.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/xen/xenstore/xenstore.c b/sys/xen/xenstore/xenstore.c index 15b7f9c..090de23 100644 --- a/sys/xen/xenstore/xenstore.c +++ b/sys/xen/xenstore/xenstore.c @@ -307,7 +307,8 @@ split(char *strings, u_int len, u_int *num) const char **ret; /* Protect against unterminated buffers. */ - strings[len - 1] = '\0'; + if (len > 0) + strings[len - 1] = '\0'; /* Count the strings. */ *num = extract_strings(strings, /*dest*/NULL, len); |