diff options
author | jsg <jsg@openbsd.org> | 2019-10-11 14:48:30 +0000 |
---|---|---|
committer | jsg <jsg@openbsd.org> | 2019-10-11 14:48:30 +0000 |
commit | 23cf8cd661e438c12e6a10a52c4f83bdcc93d468 (patch) | |
tree | f888a23bca490c81d5aeebfea0c007128cc7c01f /usr.bin/snmp | |
parent | bump internal version to 3.0.2 (diff) | |
download | wireguard-openbsd-23cf8cd661e438c12e6a10a52c4f83bdcc93d468.tar.xz wireguard-openbsd-23cf8cd661e438c12e6a10a52c4f83bdcc93d468.zip |
don't use sizeof(pointer) to represent buffer size
ok martijn@ deraadt@
Diffstat (limited to 'usr.bin/snmp')
-rw-r--r-- | usr.bin/snmp/smi.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.bin/snmp/smi.c b/usr.bin/snmp/smi.c index f4bc004a3e6..c78d5e1949e 100644 --- a/usr.bin/snmp/smi.c +++ b/usr.bin/snmp/smi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: smi.c,v 1.4 2019/10/09 05:44:06 martijn Exp $ */ +/* $OpenBSD: smi.c,v 1.5 2019/10/11 14:48:30 jsg Exp $ */ /* * Copyright (c) 2019 Martijn van Duren <martijn@openbsd.org> @@ -240,7 +240,7 @@ smi_print_element(struct ber_element *root, int print_hint, enum smi_output_string output_string, enum smi_oid_lookup lookup) { char *str = NULL, *buf, *p; - size_t len, i; + size_t len, i, slen; long long v, ticks; int d; int is_hex = 0, ret; @@ -335,11 +335,12 @@ smi_print_element(struct ber_element *root, int print_hint, case BER_TYPE_BITSTRING: if (ber_get_bitstring(root, (void *)&buf, &len) == -1) goto fail; - if ((str = calloc(1, len * 2 + 1 + sizeof("BITS: "))) == NULL) + slen = len * 2 + 1 + sizeof("BITS: "); + if ((str = calloc(1, slen)) == NULL) goto fail; p = str; if (print_hint) { - strlcpy(str, "BITS: ", sizeof(str)); + strlcpy(str, "BITS: ", slen); p += sizeof("BITS: "); } for (i = 0; i < len; i++) { |