2013-09-26 17:14:40 +02:00

30 lines
980 B
Plaintext

$NetBSD: patch-el,v 1.4 2013/03/17 00:15:29 gdt Exp $
--- perl/OID/OID.xs.orig 2012-10-09 22:28:58.000000000 +0000
+++ perl/OID/OID.xs
@@ -157,17 +157,22 @@ MODULE = NetSNMP::OID PACKAGE = NetSNMP
netsnmp_oid *
nso_newptr(initstring)
char *initstring
+ PREINIT:
+ STRLEN len;
CODE:
if (get_tree_head() == NULL)
netsnmp_init_mib();
RETVAL = malloc(sizeof(netsnmp_oid));
RETVAL->name = RETVAL->namebuf;
- RETVAL->len = sizeof(RETVAL->namebuf)/sizeof(RETVAL->namebuf[0]);
- if (!snmp_parse_oid(initstring, (oid *) RETVAL->name, &RETVAL->len)) {
+ len = sizeof(RETVAL->namebuf)/sizeof(RETVAL->namebuf[0]);
+ if (!snmp_parse_oid(initstring, (oid *) RETVAL->name, &len)) {
snmp_log(LOG_ERR, "Can't parse: %s\n", initstring);
RETVAL->len = 0;
free(RETVAL);
RETVAL = NULL;
+ }
+ else {
+ RETVAL->len = len;
}
OUTPUT:
RETVAL