1.1 --- a/librazor/uri-io.c Fri Jul 08 17:12:16 2016 +0100
1.2 +++ b/librazor/uri-io.c Fri Jul 08 17:52:02 2016 +0100
1.3 @@ -64,7 +64,7 @@
1.4 const char *errmsg;
1.5 void *addr;
1.6 const void *buf;
1.7 - size_t size;
1.8 + size_t size, total_size;
1.9 off_t offset;
1.10 struct archive *a;
1.11 struct archive_entry *entry;
1.12 @@ -105,7 +105,8 @@
1.13 * TODO: Unicode support. Might need to wait for libarchive v4.
1.14 */
1.15 if (!strcmp(archive_entry_pathname(entry), path)) {
1.16 - addr = malloc(archive_entry_size(entry));
1.17 + total_size = archive_entry_size(entry);
1.18 + addr = malloc(total_size);
1.19 if (!addr) {
1.20 archive_read_close(a);
1.21 archive_read_finish(a);
1.22 @@ -134,6 +135,8 @@
1.23 archive_read_close(a);
1.24 archive_read_finish(a);
1.25
1.26 + *length = total_size;
1.27 +
1.28 return addr;
1.29 }
1.30 }