From 642ac505182749e009934f66b40c32d4033dff38 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Fri, 12 Feb 2016 17:40:34 +0100 Subject: Free some more memory --- c_src/filebuffer.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'c_src') diff --git a/c_src/filebuffer.c b/c_src/filebuffer.c index c6068e8..4ba3501 100644 --- a/c_src/filebuffer.c +++ b/c_src/filebuffer.c @@ -150,12 +150,14 @@ bf_read(buffered_file *file, uint64_t offset, size_t length, char **error) if (offset >= file->filesize) { uint64_t writebufferoffset = offset - file->filesize; if (offset + length > file->datasize) { + free(result); set_error(error, "pread: not enough data for offset %llu and length %zu\n", (long long unsigned int) offset, length); return NULL; } memcpy(result, file->writebuffer + writebufferoffset, length); } else { if (offset + length > file->filesize) { + free(result); set_error(error, "pread: trying to read over file/writebuffer boundary for offset %llu and length %zu\n", (long long unsigned int) offset, length); return NULL; } -- cgit v1.1