summaryrefslogtreecommitdiff
path: root/lib/dns/rcode.c
diff options
context:
space:
mode:
authorErwin Lansing <erwin@FreeBSD.org>2014-12-15 12:14:41 +0000
committerErwin Lansing <erwin@FreeBSD.org>2014-12-15 12:14:41 +0000
commit4c9547cd12b5bb569f10b368eb6bb04d897d596f (patch)
tree025b1191fa4f9c03bf5345071dd2658f5d240b69 /lib/dns/rcode.c
parent989b3b2d6068ce5b525479b7754977baf6364a7d (diff)
Notes
Diffstat (limited to 'lib/dns/rcode.c')
-rw-r--r--lib/dns/rcode.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/dns/rcode.c b/lib/dns/rcode.c
index 69007f881efd..2fdb751e6dbf 100644
--- a/lib/dns/rcode.c
+++ b/lib/dns/rcode.c
@@ -212,11 +212,13 @@ maybe_numeric(unsigned int *valuep, isc_textregion_t *source,
return (ISC_R_BADNUMBER);
/*
- * We have a potential number. Try to parse it with
- * isc_parse_uint32(). isc_parse_uint32() requires
+ * We have a potential number. Try to parse it with
+ * isc_parse_uint32(). isc_parse_uint32() requires
* null termination, so we must make a copy.
*/
- strncpy(buffer, source->base, NUMBERSIZE);
+ strncpy(buffer, source->base, sizeof(buffer));
+ buffer[sizeof(buffer) - 1] = '\0';
+
INSIST(buffer[source->length] == '\0');
result = isc_parse_uint32(&n, buffer, 10);