Browse code

Only check specific RIFF files. Lots of broken software out there producing bad files.

git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@1329 77e5149b-7576-45b1-b177-96237e5ba77b

Trog authored on 2005/02/08 23:47:06
Showing 2 changed files
... ...
@@ -1,3 +1,8 @@
1
+Tue Feb  8 14:45:05 GMT 2005 (trog)
2
+-----------------------------------
3
+  * libclamav/special.c: Only check specific RIFF files. Lots of broken software out there
4
+		producing bad files.
5
+
1 6
 Tue Feb  8 09:03:19 GMT 2005 (njh)
2 7
 ----------------------------------
3 8
   * clamav-milter:	Don't use clamd's SESSION command
... ...
@@ -224,6 +224,12 @@ int cli_check_riff_exploit(int fd)
224 224
 		return 0;
225 225
 	}
226 226
 
227
+	if (memcmp(&form_type, "ACON", 4) != 0) {
228
+		/* Only scan MS animated icon files */
229
+		/* There is a *lot* of broken software out there that produces bad RIFF files */
230
+		return 0;
231
+	}
232
+
227 233
 	chunk_size = riff_endian_convert_32(chunk_size, big_endian);
228 234
 
229 235
 	do {
... ...
@@ -234,6 +240,6 @@ int cli_check_riff_exploit(int fd)
234 234
 
235 235
 	if (offset < chunk_size) {
236 236
 		retval = 2;
237
-	};
237
+	}
238 238
 	return retval;
239 239
 }