|
@@ -250,6 +250,7 @@ static unsigned char asn1_header_decode(struct asn1_ctx *ctx,
|
|
if (!asn1_id_decode(ctx, cls, con, tag))
|
|
if (!asn1_id_decode(ctx, cls, con, tag))
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+ def = len = 0;
|
|
if (!asn1_length_decode(ctx, &def, &len))
|
|
if (!asn1_length_decode(ctx, &def, &len))
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
@@ -669,7 +670,7 @@ static unsigned char snmp_object_decode(struct asn1_ctx *ctx,
|
|
unsigned char *eoc, *end, *p;
|
|
unsigned char *eoc, *end, *p;
|
|
unsigned long *lp, *id;
|
|
unsigned long *lp, *id;
|
|
unsigned long ul;
|
|
unsigned long ul;
|
|
- long l;
|
|
|
|
|
|
+ long l;
|
|
|
|
|
|
*obj = NULL;
|
|
*obj = NULL;
|
|
id = NULL;
|
|
id = NULL;
|
|
@@ -699,11 +700,13 @@ static unsigned char snmp_object_decode(struct asn1_ctx *ctx,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ type = 0;
|
|
if (!snmp_tag_cls2syntax(tag, cls, &type)) {
|
|
if (!snmp_tag_cls2syntax(tag, cls, &type)) {
|
|
kfree(id);
|
|
kfree(id);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ l = 0;
|
|
switch (type) {
|
|
switch (type) {
|
|
case SNMP_INTEGER:
|
|
case SNMP_INTEGER:
|
|
len = sizeof(long);
|
|
len = sizeof(long);
|