fixed memory leak

This commit is contained in:
TLINDEN
2014-08-04 22:55:33 +02:00
parent e6a5c51d8a
commit 02930178b2
2 changed files with 6 additions and 2 deletions

View File

@@ -48,7 +48,8 @@ Buffer *buffer_new_str(char *name) {
} }
Buffer *buffer_new_buf(char *name, void *data, size_t datasize) { Buffer *buffer_new_buf(char *name, void *data, size_t datasize) {
Buffer *b = buffer_new(256, name); Buffer *b = ucmalloc(sizeof(Buffer));
buffer_init(b, 256, name);
b->allocated = 0; b->allocated = 0;
b->buf = data; b->buf = data;
b->size = datasize; b->size = datasize;
@@ -66,6 +67,7 @@ void buffer_free(Buffer *b) {
free(b->buf); free(b->buf);
b->allocated = 0; b->allocated = 0;
} }
free(b->name);
free(b); free(b);
} }
} }

View File

@@ -45,7 +45,7 @@ int main() {
fprintf(stderr, "\n"); fprintf(stderr, "\n");
} }
buffer_extract(test, g, 28, 38); buffer_extract(test, g, 28, 10);
_dump("extracted", g, 10); _dump("extracted", g, 10);
uint8_t c = buffer_last8(test); uint8_t c = buffer_last8(test);
@@ -87,6 +87,7 @@ int main() {
} }
buffer_free(rb); buffer_free(rb);
free(chunk);
_dump("r", r, rs); /* should work! */ _dump("r", r, rs); /* should work! */
@@ -94,6 +95,7 @@ int main() {
fclose(RFD); fclose(RFD);
fatals_ifany(ptx); fatals_ifany(ptx);
ptx_clean(ptx);
return 0; return 0;
} }