* gnu/packages/patches/libwmf-CAN-2004-0941.patch, gnu/packages/patches/libwmf-CVE-2007-0455.patch, gnu/packages/patches/libwmf-CVE-2007-2756.patch, gnu/packages/patches/libwmf-CVE-2007-3472.patch, gnu/packages/patches/libwmf-CVE-2007-3473.patch, gnu/packages/patches/libwmf-CVE-2007-3477.patch, gnu/packages/patches/libwmf-CVE-2009-3546.patch: New files. * gnu/packages/patches/libwmf-CVE-2015-0848+4588+4695+4696.patch: Delete file. Replace with ... * gnu/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch, gnu/packages/patches/libwmf-CVE-2015-4695.patch, gnu/packages/patches/libwmf-CVE-2015-4696.patch: ... these new files. * gnu-system.am (dist_patch_DATA): Adjust accordingly. * gnu/packages/image.scm (libwmf)[source]: Adjust set of patches.
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			780 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			780 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
Copied from Fedora.
 | 
						|
 | 
						|
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2007-3477.patch
 | 
						|
 | 
						|
--- libwmf-0.2.8.4/src/extra/gd/gd.c
 | 
						|
+++ libwmf-0.2.8.4/src/extra/gd/gd.c
 | 
						|
@@ -1335,10 +1335,31 @@
 | 
						|
   int w2, h2;
 | 
						|
   w2 = w / 2;
 | 
						|
   h2 = h / 2;
 | 
						|
-  while (e < s)
 | 
						|
-    {
 | 
						|
-      e += 360;
 | 
						|
-    }
 | 
						|
+
 | 
						|
+  if ((s % 360)  == (e % 360)) {
 | 
						|
+         s = 0; e = 360;
 | 
						|
+  } else {
 | 
						|
+         if (s > 360) {
 | 
						|
+                 s = s % 360;
 | 
						|
+         }
 | 
						|
+
 | 
						|
+         if (e > 360) {
 | 
						|
+                 e = e % 360;
 | 
						|
+         }
 | 
						|
+
 | 
						|
+         while (s < 0) {
 | 
						|
+                 s += 360;
 | 
						|
+         }
 | 
						|
+
 | 
						|
+         while (e < s) {
 | 
						|
+                 e += 360;
 | 
						|
+         }
 | 
						|
+
 | 
						|
+         if (s == e) {
 | 
						|
+                 s = 0; e = 360;
 | 
						|
+         }
 | 
						|
+  }
 | 
						|
+
 | 
						|
   for (i = s; (i <= e); i++)
 | 
						|
     {
 | 
						|
       int x, y;
 |