uint8_t salt_pos;
uint8_t *data = ldns_rdf_data(rdf);
- size_t pos;
salt_length = data[0];
- /* todo: length check needed/possible? */
/* from now there are variable length entries so remember pos */
- pos = 1;
- if (salt_length == 0) {
+ if (salt_length == 0 || ((size_t)salt_length)+1 > ldns_rdf_size(rdf)) {
ldns_buffer_printf(output, "- ");
} else {
for (salt_pos = 0; salt_pos < salt_length; salt_pos++) {
ldns_buffer_printf(output, "%02x", data[1 + salt_pos]);
- pos++;
}
ldns_buffer_printf(output, " ");
}