librazor/uri-io.c
changeset 485 5e309e37906e
parent 483 8087224f30c4
child 487 a5837882a252
     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  	}