source: packages/net/mini_snmpd/patches/102-mib_fix_uninitialized_memory.patch @ 28358

Last change on this file since 28358 was 28358, checked in by jow, 5 years ago

[packages] mini-snmpd: fix use of uninitialized memory leading to garbage values (#10168)

File size: 1.5 KB
  • mib.c

    a b static int mib_build_entry(const oid_t * 
    290290                        value->data.max_length = sizeof (int) + 2; 
    291291                        value->data.encoded_length = 0; 
    292292                        value->data.buffer = malloc(value->data.max_length); 
     293                        memset(value->data.buffer, 0, value->data.max_length); 
    293294                        if (encode_snmp_element_integer(value, (int)default_value) == -1) { 
    294295                                return -1; 
    295296                        } 
    static int mib_build_entry(const oid_t * 
    298299                        value->data.max_length = strlen((const char *)default_value) + 4; 
    299300                        value->data.encoded_length = 0; 
    300301                        value->data.buffer = malloc(value->data.max_length); 
     302                        memset(value->data.buffer, 0, value->data.max_length); 
    301303                        if (encode_snmp_element_string(value, (const char *)default_value) == -1) { 
    302304                                return -1; 
    303305                        } 
    static int mib_build_entry(const oid_t * 
    306308                        value->data.max_length = MAX_NR_SUBIDS * 5 + 4; 
    307309                        value->data.encoded_length = 0; 
    308310                        value->data.buffer = malloc(value->data.max_length); 
     311                        memset(value->data.buffer, 0, value->data.max_length); 
    309312                        if (encode_snmp_element_oid(value, oid_aton((const char *)default_value)) == -1) { 
    310313                                return -1; 
    311314                        } 
    static int mib_build_entry(const oid_t * 
    316319                        value->data.max_length = sizeof (unsigned int) + 2; 
    317320                        value->data.encoded_length = 0; 
    318321                        value->data.buffer = malloc(value->data.max_length); 
     322                        memset(value->data.buffer, 0, value->data.max_length); 
    319323                        if (encode_snmp_element_unsigned(value, type, (unsigned int)default_value) == -1) { 
    320324                                return -1; 
    321325                        } 
Note: See TracBrowser for help on using the repository browser.