fc8cecf2e59505d543cb9c4a5ca69d7d31aa07de
[packages.git] / net / mini_snmpd / patches / 102-mib_fix_uninitialized_memory.patch
1 --- a/mib.c
2 +++ b/mib.c
3 @@ -290,6 +290,7 @@ static int mib_build_entry(const oid_t *
4                         value->data.max_length = sizeof (int) + 2;
5                         value->data.encoded_length = 0;
6                         value->data.buffer = malloc(value->data.max_length);
7 +                       memset(value->data.buffer, 0, value->data.max_length);
8                         if (encode_snmp_element_integer(value, (int)default_value) == -1) {
9                                 return -1;
10                         }
11 @@ -298,6 +299,7 @@ static int mib_build_entry(const oid_t *
12                         value->data.max_length = strlen((const char *)default_value) + 4;
13                         value->data.encoded_length = 0;
14                         value->data.buffer = malloc(value->data.max_length);
15 +                       memset(value->data.buffer, 0, value->data.max_length);
16                         if (encode_snmp_element_string(value, (const char *)default_value) == -1) {
17                                 return -1;
18                         }
19 @@ -306,6 +308,7 @@ static int mib_build_entry(const oid_t *
20                         value->data.max_length = MAX_NR_SUBIDS * 5 + 4;
21                         value->data.encoded_length = 0;
22                         value->data.buffer = malloc(value->data.max_length);
23 +                       memset(value->data.buffer, 0, value->data.max_length);
24                         if (encode_snmp_element_oid(value, oid_aton((const char *)default_value)) == -1) {
25                                 return -1;
26                         }
27 @@ -316,6 +319,7 @@ static int mib_build_entry(const oid_t *
28                         value->data.max_length = sizeof (unsigned int) + 2;
29                         value->data.encoded_length = 0;
30                         value->data.buffer = malloc(value->data.max_length);
31 +                       memset(value->data.buffer, 0, value->data.max_length);
32                         if (encode_snmp_element_unsigned(value, type, (unsigned int)default_value) == -1) {
33                                 return -1;
34                         }