mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-03-17 19:21:21 +00:00
SNMP traps quick fix: Do not return err_t as u16_t in snmp_varbind_len. This need further cleanup.
This commit is contained in:
parent
14ca418ac0
commit
5a1b9bf808
@ -263,7 +263,7 @@ snmp_varbind_len(struct snmp_varbind *varbind)
|
|||||||
switch (varbind->type) {
|
switch (varbind->type) {
|
||||||
case SNMP_ASN1_TYPE_INTEGER:
|
case SNMP_ASN1_TYPE_INTEGER:
|
||||||
if (varbind->value_len != sizeof (s32_t)) {
|
if (varbind->value_len != sizeof (s32_t)) {
|
||||||
return ERR_VAL;
|
return 0;
|
||||||
}
|
}
|
||||||
snmp_asn1_enc_s32t_cnt(*((s32_t*) varbind->value), &value_value_len);
|
snmp_asn1_enc_s32t_cnt(*((s32_t*) varbind->value), &value_value_len);
|
||||||
break;
|
break;
|
||||||
@ -271,7 +271,7 @@ snmp_varbind_len(struct snmp_varbind *varbind)
|
|||||||
case SNMP_ASN1_TYPE_GAUGE:
|
case SNMP_ASN1_TYPE_GAUGE:
|
||||||
case SNMP_ASN1_TYPE_TIMETICKS:
|
case SNMP_ASN1_TYPE_TIMETICKS:
|
||||||
if (varbind->value_len != sizeof (u32_t)) {
|
if (varbind->value_len != sizeof (u32_t)) {
|
||||||
return ERR_VAL;
|
return 0;
|
||||||
}
|
}
|
||||||
snmp_asn1_enc_u32t_cnt(*((u32_t*) varbind->value), &value_value_len);
|
snmp_asn1_enc_u32t_cnt(*((u32_t*) varbind->value), &value_value_len);
|
||||||
break;
|
break;
|
||||||
@ -282,25 +282,25 @@ snmp_varbind_len(struct snmp_varbind *varbind)
|
|||||||
break;
|
break;
|
||||||
case SNMP_ASN1_TYPE_NULL:
|
case SNMP_ASN1_TYPE_NULL:
|
||||||
if (varbind->value_len != 0) {
|
if (varbind->value_len != 0) {
|
||||||
return ERR_VAL;
|
return 0;
|
||||||
}
|
}
|
||||||
value_value_len = 0;
|
value_value_len = 0;
|
||||||
break;
|
break;
|
||||||
case SNMP_ASN1_TYPE_OBJECT_ID:
|
case SNMP_ASN1_TYPE_OBJECT_ID:
|
||||||
if ((varbind->value_len & 0x03) != 0) {
|
if ((varbind->value_len & 0x03) != 0) {
|
||||||
return ERR_VAL;
|
return 0;
|
||||||
}
|
}
|
||||||
snmp_asn1_enc_oid_cnt((u32_t*) varbind->value, varbind->value_len >> 2, &value_value_len);
|
snmp_asn1_enc_oid_cnt((u32_t*) varbind->value, varbind->value_len >> 2, &value_value_len);
|
||||||
break;
|
break;
|
||||||
case SNMP_ASN1_TYPE_COUNTER64:
|
case SNMP_ASN1_TYPE_COUNTER64:
|
||||||
if (varbind->value_len != (2 * sizeof (u32_t))) {
|
if (varbind->value_len != (2 * sizeof (u32_t))) {
|
||||||
return ERR_VAL;
|
return 0;
|
||||||
}
|
}
|
||||||
snmp_asn1_enc_u64t_cnt((u32_t*) varbind->value, &value_value_len);
|
snmp_asn1_enc_u64t_cnt((u32_t*) varbind->value, &value_value_len);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* unsupported type */
|
/* unsupported type */
|
||||||
return ERR_VAL;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
snmp_asn1_enc_length_cnt(value_value_len, &value_len_len);
|
snmp_asn1_enc_length_cnt(value_value_len, &value_len_len);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user