Sophie

Sophie

distrib > Mandriva > 2010.2 > x86_64 > by-pkgid > bdbb446c06372a420ab73f67b34dd8df > files > 5

libarchive-2.8.3-1.2mdv2010.2.src.rpm


https://bugs.mageia.org/show_bug.cgi?id=3941
http://svnweb.mageia.org/packages/updates/1/libarchive/current/SOURCES/libarchive-CVE-2011-1777.diff?revision=189404&view=co

--- libarchive/archive_read_support_format_iso9660.c	2012-04-14 06:47:32.000000000 +0000
+++ libarchive/archive_read_support_format_iso9660.c.oden	2012-04-14 06:47:52.000000000 +0000
@@ -967,11 +967,11 @@ read_children(struct archive_read *a, st
 			child = parse_file_info(a, parent, p);
 			if (child == NULL)
 				return (ARCHIVE_FATAL);
-			if (child->cl_offset)
+			if (child->cl_offset) {
 				if (heap_add_entry(a, &(iso9660->cl_files),
 				    child, child->cl_offset) != ARCHIVE_OK)
 					return (ARCHIVE_FATAL);
-			else {
+			} else {
 				if (child->multi_extent || multi != NULL) {
 					struct content *con;
 
@@ -1070,11 +1070,11 @@ read_entries(struct archive_read *a)
 		    (strcmp(file->name.s, "rr_moved") == 0 ||
 		     strcmp(file->name.s, ".rr_moved") == 0)) {
 			iso9660->rr_moved = file;
-		} else if (file->re)
+		} else if (file->re) {
 			if (heap_add_entry(a, &(iso9660->re_dirs), file,
 			    file->offset) != ARCHIVE_OK)
 				return (ARCHIVE_FATAL);
-		else
+		} else
 			cache_add_entry(iso9660, file);
 	}
 	if (file != NULL)
@@ -2676,7 +2676,7 @@ heap_add_entry(struct archive_read *a, s
 		parent_key = heap->files[parent]->key;
 		if (file_key >= parent_key) {
 			heap->files[hole] = file;
-			return;
+			return (ARCHIVE_OK);
 		}
 		// Move parent into hole <==> move hole up tree.
 		heap->files[hole] = heap->files[parent];