diff --git a/doc/Changelog b/doc/Changelog index e1f1c19ff..290cf4f86 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,7 @@ 16 June 2017: Wouter - Fix #1301: memory leak in respip and tests. - Free callback in edns-subnetmod on exit and restart. + - Fix memory leak in sldns_buffer_new_frm_data. 15 June 2017: Wouter - Fix stub zone queries leaking to the internet for diff --git a/sldns/sbuffer.c b/sldns/sbuffer.c index a04b9b655..4ac83977e 100644 --- a/sldns/sbuffer.c +++ b/sldns/sbuffer.c @@ -50,6 +50,8 @@ sldns_buffer_new_frm_data(sldns_buffer *buffer, void *data, size_t size) buffer->_limit = buffer->_capacity = size; buffer->_fixed = 0; buffer->_vfixed = 0; + if (!buffer->_fixed && buffer->_data) + free(buffer->_data); buffer->_data = malloc(size); if(!buffer->_data) { buffer->_status_err = 1;