=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/snmp/smi.c,v retrieving revision 1.4 retrieving revision 1.5 diff -c -r1.4 -r1.5 *** src/usr.bin/snmp/smi.c 2019/10/09 05:44:06 1.4 --- src/usr.bin/snmp/smi.c 2019/10/11 14:48:30 1.5 *************** *** 1,4 **** ! /* $OpenBSD: smi.c,v 1.4 2019/10/09 05:44:06 martijn Exp $ */ /* * Copyright (c) 2019 Martijn van Duren --- 1,4 ---- ! /* $OpenBSD: smi.c,v 1.5 2019/10/11 14:48:30 jsg Exp $ */ /* * Copyright (c) 2019 Martijn van Duren *************** *** 240,246 **** enum smi_output_string output_string, enum smi_oid_lookup lookup) { char *str = NULL, *buf, *p; ! size_t len, i; long long v, ticks; int d; int is_hex = 0, ret; --- 240,246 ---- enum smi_output_string output_string, enum smi_oid_lookup lookup) { char *str = NULL, *buf, *p; ! size_t len, i, slen; long long v, ticks; int d; int is_hex = 0, ret; *************** *** 335,345 **** 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) goto fail; p = str; if (print_hint) { ! strlcpy(str, "BITS: ", sizeof(str)); p += sizeof("BITS: "); } for (i = 0; i < len; i++) { --- 335,346 ---- case BER_TYPE_BITSTRING: if (ber_get_bitstring(root, (void *)&buf, &len) == -1) goto fail; ! slen = len * 2 + 1 + sizeof("BITS: "); ! if ((str = calloc(1, slen)) == NULL) goto fail; p = str; if (print_hint) { ! strlcpy(str, "BITS: ", slen); p += sizeof("BITS: "); } for (i = 0; i < len; i++) {