File dcraw-CVE-2021-3624.patch of Package dcraw.23716

--- dcraw/dcraw.c	2022-04-12 14:29:23.791896447 +0200
+++ dcraw/dcraw.c	2022-04-12 14:59:50.767180929 +0200
@@ -3289,7 +3289,13 @@
     }
   } else if (type == 4) {
     free (meta_data);
-    meta_data = (char *) malloc (meta_length = wide*high*3/2);
+    meta_data = NULL;
+    meta_length =  wide*high*3/2;
+    if (meta_length/wide != high*3/2) {
+        fprintf(stderr, "Potential buffer overflow (meta_length %u, wide %u, high %u). Bailing out...\n", meta_length, wide, high);
+        longjmp(failure, 2);
+    }
+    meta_data = (char *) malloc (meta_length);
     merror (meta_data, "foveon_load_camf()");
     foveon_huff (huff);
     get4();
openSUSE Build Service is sponsored by