# HG changeset patch # User Matti Hamalainen # Date 1425219644 -7200 # Node ID a76056297006436a83c11fb44e74cbd0ff4593d4 # Parent c88b879c735ccab72d1c3626f2660e08b0a1988c Oops. diff -r c88b879c735c -r a76056297006 src/dmpack.c --- a/src/dmpack.c Sun Mar 01 16:14:03 2015 +0200 +++ b/src/dmpack.c Sun Mar 01 16:20:44 2015 +0200 @@ -98,8 +98,8 @@ !dm_fread_le32(pack->file, &hdr.dirEntries) || !dm_fread_le32(pack->file, &hdr.dirOffset)) { - dmPackClose(pack); - return DMERR_FREAD; + ret = DMERR_FREAD; + goto out; } // Check information @@ -148,6 +148,10 @@ if (entry->size == 0 || entry->length == 0 || entry->length > hdr.dirOffset || entry->offset > hdr.dirOffset) + { + ret = DMERR_INVALID; + goto out; + } // Insert into list dmPackEntryInsert(&pack->entries, entry);