Browse code

* libclamav/htmlnorm.c: fix decoding of hex char encoding (spotted by Tomasz Klim) * libclamav/filetypes.c: add '<script' tags to HTML rule set

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

Trog authored on 2004/07/13 00:06:09
Showing 3 changed files
... ...
@@ -1,3 +1,9 @@
1
+Mon Jul 12 16:03:11 BST 2004 (trog)
2
+-----------------------------------
3
+  * libclamav/htmlnorm.c: fix decoding of hex char encoding
4
+	(spotted by Tomasz Klim)
5
+  * libclamav/filetypes.c: add '<script' tags to HTML rule set
6
+
1 7
 Sun Jul 11 16:39:42 CEST 2004 (tk)
2 8
 ----------------------------------
3 9
   * libclamav: scanners: scan raw executables before trying to unpack them
... ...
@@ -116,18 +116,20 @@ static const struct cli_smagic_s cli_smagic[] = {
116 116
     {"46726f6d3a20*436f6e74656e742d547970653a20",    "Mail file", CL_MAILFILE},
117 117
 
118 118
     /* remember the matcher is case sensitive */
119
-    {"3c62723e",    "HTML data", CL_HTMLFILE},	/* <br> */
120
-    {"3c42723e",    "HTML data", CL_HTMLFILE},	/* <Br> */
121
-    {"3c42523e",    "HTML data", CL_HTMLFILE},	/* <BR> */
122
-    {"3c703e",	    "HTML data", CL_HTMLFILE},	/* <p> */
123
-    {"3c503e",	    "HTML data", CL_HTMLFILE},	/* <P> */
124
-    {"68726566",    "HTML data", CL_HTMLFILE},	/* href */
125
-    {"48726566",    "HTML data", CL_HTMLFILE},	/* Href */
126
-    {"48524546",    "HTML data", CL_HTMLFILE},	/* HREF */
127
-    {"3c666f6e74",  "HTML data", CL_HTMLFILE},	/* <font */
128
-    {"3c466f6e74",  "HTML data", CL_HTMLFILE},	/* <Font */
129
-    {"3c464f4e54",  "HTML data", CL_HTMLFILE},	/* <FONT */
130
-
119
+    {"3c62723e",       "HTML data", CL_HTMLFILE},	/* <br> */
120
+    {"3c42723e",       "HTML data", CL_HTMLFILE},	/* <Br> */
121
+    {"3c42523e",       "HTML data", CL_HTMLFILE},	/* <BR> */
122
+    {"3c703e",	       "HTML data", CL_HTMLFILE},	/* <p> */
123
+    {"3c503e",	       "HTML data", CL_HTMLFILE},	/* <P> */
124
+    {"68726566",       "HTML data", CL_HTMLFILE},	/* href */
125
+    {"48726566",       "HTML data", CL_HTMLFILE},	/* Href */
126
+    {"48524546",       "HTML data", CL_HTMLFILE},	/* HREF */
127
+    {"3c666f6e74",     "HTML data", CL_HTMLFILE},	/* <font */
128
+    {"3c466f6e74",     "HTML data", CL_HTMLFILE},	/* <Font */
129
+    {"3c464f4e54",     "HTML data", CL_HTMLFILE},	/* <FONT */
130
+    {"3c736372697074", "HTML data", CL_HTMLFILE},	/* <script */
131
+    {"3c536372697074", "HTML data", CL_HTMLFILE},	/* <Script */
132
+    {"3c534352495054", "HTML data", CL_HTMLFILE},	/* <SCRIPT */
131 133
 
132 134
     {NULL,  NULL,   CL_UNKNOWN_TYPE}
133 135
 };
... ...
@@ -176,7 +176,11 @@ unsigned int decode_html_char_ref(unsigned char *cref,
176 176
 		} else {
177 177
 			value *= 10;
178 178
 		}
179
-		value += (*cref - '0');
179
+		if (isdigit(*cref)) {
180
+			value += (*cref - '0');
181
+		} else {
182
+			value += (tolower(*cref) - 'a' + 10);
183
+		}
180 184
 		cref++;
181 185
 		count++;
182 186
 	}