Ticket #10168: 104-clean_memory_before_use_fix.patch

File 104-clean_memory_before_use_fix.patch, 1.7 KB (added by anonymous, 5 years ago)
  • mib.c

    a b static int mib_build_entry(const oid_t * 
    293293                        value->data.max_length = sizeof (int) + 2; 
    294294                        value->data.encoded_length = 0; 
    295295                        value->data.buffer = malloc(value->data.max_length); 
     296                        memset(value->data.buffer, 0, value->data.max_length); 
    296297                        if (encode_snmp_element_integer(value, (int)default_value) == -1) { 
    297298                                return -1; 
    298299                        } 
    static int mib_build_entry(const oid_t * 
    301302                        value->data.max_length = strlen((const char *)default_value) + 4; 
    302303                        value->data.encoded_length = 0; 
    303304                        value->data.buffer = malloc(value->data.max_length); 
     305                        memset(value->data.buffer, 0, value->data.max_length); 
    304306                        if (encode_snmp_element_string(value, (const char *)default_value) == -1) { 
    305307                                return -1; 
    306308                        } 
    static int mib_build_entry(const oid_t * 
    309311                        value->data.max_length = MAX_NR_SUBIDS * 5 + 4; 
    310312                        value->data.encoded_length = 0; 
    311313                        value->data.buffer = malloc(value->data.max_length); 
     314                        memset(value->data.buffer, 0, value->data.max_length); 
    312315                        if (encode_snmp_element_oid(value, oid_aton((const char *)default_value)) == -1) { 
    313316                                lprintf(LOG_ERR, "could not create MIB entry '%s.%d.%d': invalid oid '%s'\n", 
    314317                                        oid_ntoa(prefix), column, row, (char *)default_value); 
    static int mib_build_entry(const oid_t * 
    321324                        value->data.max_length = sizeof (unsigned int) + 2; 
    322325                        value->data.encoded_length = 0; 
    323326                        value->data.buffer = malloc(value->data.max_length); 
     327                        memset(value->data.buffer, 0, value->data.max_length); 
    324328                        if (encode_snmp_element_unsigned(value, type, (unsigned int)default_value) == -1) { 
    325329                                return -1; 
    326330                        }