summaryrefslogtreecommitdiffstats
path: root/net/mini_snmpd/patches/103-mib_encode_snmp_element_oid_fix.patch
blob: a1f105cb4a1c2ea8b66ee7d25f0dfd5aa6079207 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- a/mib.c
+++ b/mib.c
@@ -120,6 +120,9 @@ static int encode_snmp_element_oid(value
 	int length;
 	int i;
 
+	if (oid_value == NULL) {
+		return -1;
+	}
 	buffer = value->data.buffer;
 	length = 1;
 	for (i = 2; i < oid_value->subid_list_length; i++) {
@@ -310,6 +313,8 @@ static int mib_build_entry(const oid_t *
 			value->data.buffer = malloc(value->data.max_length);
 			memset(value->data.buffer, 0, value->data.max_length);
 			if (encode_snmp_element_oid(value, oid_aton((const char *)default_value)) == -1) {
+				lprintf(LOG_ERR, "could not create MIB entry '%s.%d.%d': invalid oid '%s'\n",
+					oid_ntoa(prefix), column, row, (char *)default_value);
 				return -1;
 			}
 			break;