Blame SOURCES/binutils-CVE-2019-17451.patch

1ca8a1
--- binutils.orig/bfd/dwarf2.c	2019-11-13 11:32:09.395430104 +0000
1ca8a1
+++ binutils-2.33.1/bfd/dwarf2.c	2019-11-13 11:33:17.272899503 +0000
1ca8a1
@@ -4440,7 +4440,16 @@ _bfd_dwarf2_slurp_debug_info (bfd *abfd,
1ca8a1
       for (total_size = 0;
1ca8a1
 	   msec;
1ca8a1
 	   msec = find_debug_info (debug_bfd, debug_sections, msec))
1ca8a1
-	total_size += msec->size;
1ca8a1
+       {
1ca8a1
+         /* Catch PR25070 testcase overflowing size calculation here.  */
1ca8a1
+         if (total_size + msec->size < total_size
1ca8a1
+             || total_size + msec->size < msec->size)
1ca8a1
+           {
1ca8a1
+             bfd_set_error (bfd_error_no_memory);
1ca8a1
+             return FALSE;
1ca8a1
+           }
1ca8a1
+         total_size += msec->size;
1ca8a1
+       }
1ca8a1
 
1ca8a1
       stash->info_ptr_memory = (bfd_byte *) bfd_malloc (total_size);
1ca8a1
       if (stash->info_ptr_memory == NULL)