author | jenny.yung@oracle.com <jenny.yung@oracle.com> |
Wed, 02 Dec 2015 16:35:50 -0800 | |
changeset 5143 | 9b4a483bf8d9 |
parent 4755 | dc5e4f992365 |
permissions | -rw-r--r-- |
4755
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
1 |
This patch fixes a security issue where snmp_pdu_parse() function |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
2 |
could leave incompletely parsed varBind variables in the list of |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
3 |
variables. A remote, unauthenticated attacker could exploit this |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
4 |
flaw to cause a crash or, potentially, execute arbitrary code. |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
5 |
The vulnerability is fixed in the upsream and below is the link |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
6 |
to the upstream bug. |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
7 |
https://sourceforge.net/p/net-snmp/bugs/2615/ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
8 |
|
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
9 |
--- a/snmplib/snmp_api.c Mon Aug 3 03:34:05 2015 |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
10 |
+++ b/snmplib/snmp_api.c Mon Aug 3 03:31:01 2015 |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
11 |
@@ -4270,10 +4270,9 @@ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
12 |
u_char type; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
13 |
u_char msg_type; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
14 |
u_char *var_val; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
15 |
- int badtype = 0; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
16 |
size_t len; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
17 |
size_t four; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
18 |
- netsnmp_variable_list *vp = NULL; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
19 |
+ netsnmp_variable_list *vp = NULL, *vplast = NULL; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
20 |
oid objid[MAX_OID_LEN]; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
21 |
|
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
22 |
/* |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
23 |
@@ -4408,38 +4407,23 @@ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
24 |
(ASN_SEQUENCE | ASN_CONSTRUCTOR), |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
25 |
"varbinds"); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
26 |
if (data == NULL) |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
27 |
- return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
28 |
- |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
29 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
30 |
/* |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
31 |
* get each varBind sequence |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
32 |
*/ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
33 |
while ((int) *length > 0) { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
34 |
- netsnmp_variable_list *vptemp; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
35 |
- vptemp = (netsnmp_variable_list *) malloc(sizeof(*vptemp)); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
36 |
- if (0 == vptemp) { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
37 |
- return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
38 |
- } |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
39 |
- if (0 == vp) { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
40 |
- pdu->variables = vptemp; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
41 |
- } else { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
42 |
- vp->next_variable = vptemp; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
43 |
- } |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
44 |
- vp = vptemp; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
45 |
- |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
46 |
- vp->next_variable = NULL; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
47 |
- vp->val.string = NULL; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
48 |
+ vp = SNMP_MALLOC_TYPEDEF(netsnmp_variable_list); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
49 |
+ if (NULL == vp) |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
50 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
51 |
vp->name_length = MAX_OID_LEN; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
52 |
- vp->name = 0; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
53 |
- vp->index = 0; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
54 |
- vp->data = 0; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
55 |
- vp->dataFreeHook = 0; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
56 |
+ vp->type = 0; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
57 |
DEBUGDUMPSECTION("recv", "VarBind"); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
58 |
data = snmp_parse_var_op(data, objid, &vp->name_length, &vp->type, |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
59 |
&vp->val_len, &var_val, length); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
60 |
if (data == NULL) |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
61 |
- return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
62 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
63 |
if (snmp_set_var_objid(vp, objid, vp->name_length)) |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
64 |
- return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
65 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
66 |
|
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
67 |
len = MAX_PACKET_LENGTH; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
68 |
DEBUGDUMPHEADER("recv", "Value"); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
69 |
@@ -4504,7 +4488,7 @@ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
70 |
vp->val.string = (u_char *) malloc(vp->val_len); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
71 |
} |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
72 |
if (vp->val.string == NULL) { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
73 |
- return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
74 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
75 |
} |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
76 |
asn_parse_string(var_val, &len, &vp->type, vp->val.string, |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
77 |
&vp->val_len); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
78 |
@@ -4515,7 +4499,7 @@ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
79 |
vp->val_len *= sizeof(oid); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
80 |
vp->val.objid = (oid *) malloc(vp->val_len); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
81 |
if (vp->val.objid == NULL) { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
82 |
- return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
83 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
84 |
} |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
85 |
memmove(vp->val.objid, objid, vp->val_len); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
86 |
break; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
87 |
@@ -4527,7 +4511,7 @@ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
88 |
case ASN_BIT_STR: |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
89 |
vp->val.bitstring = (u_char *) malloc(vp->val_len); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
90 |
if (vp->val.bitstring == NULL) { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
91 |
- return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
92 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
93 |
} |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
94 |
asn_parse_bitstring(var_val, &len, &vp->type, |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
95 |
vp->val.bitstring, &vp->val_len); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
96 |
@@ -4534,12 +4518,25 @@ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
97 |
break; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
98 |
default: |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
99 |
snmp_log(LOG_ERR, "bad type returned (%x)\n", vp->type); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
100 |
- badtype = -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
101 |
+ goto fail; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
102 |
break; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
103 |
} |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
104 |
DEBUGINDENTADD(-4); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
105 |
+ if (NULL == vplast) { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
106 |
+ pdu->variables = vp; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
107 |
+ } else { |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
108 |
+ vplast->next_variable = vp; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
109 |
+ } |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
110 |
+ vplast = vp; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
111 |
+ vp = NULL; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
112 |
} |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
113 |
- return badtype; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
114 |
+ return 0; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
115 |
+ fail: |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
116 |
+ DEBUGMSGTL(("recv", "error while parsing VarBindList\n")); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
117 |
+ /** if we were parsing a var, remove it from the pdu and free it */ |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
118 |
+ if (vp) |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
119 |
+ snmp_free_var(vp); |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
120 |
+ return -1; |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
121 |
} |
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
122 |
|
dc5e4f992365
21544351 problem in UTILITY/NET-SNMP
Sowrabha H G<sowrabha.hg@oracle.com>
parents:
diff
changeset
|
123 |
/* |