summaryrefslogtreecommitdiff
path: root/sldns/sbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sldns/sbuffer.c')
-rw-r--r--sldns/sbuffer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sldns/sbuffer.c b/sldns/sbuffer.c
index a04b9b6556331..4ac83977eecba 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;