[w3m-dev 04345] Re: "important" bugs from bugs.debian.org

Hiroyuki Ito <[email protected]> Thu, 29 Jul 2010 22:08:24 +0900 (JST)
Newsgroups gmane.comp.web.w3m.devel
Message-ID <[email protected]>

> bugs.debian.org 
> 






> #492290
> w3m: crash on <hr width=4358144>
> http://bugs.debian.org/492290
> 
>  HTML 
> 
> # 

 hr 
 width 


Index: file.c
===================================================================
RCS file: /cvsroot/w3m/w3m/file.c,v
retrieving revision 1.260
diff -u -r1.260 file.c
--- file.c	24 Jul 2010 04:30:40 -0000	1.260
+++ file.c	29 Jul 2010 13:02:49 -0000
@@ -4008,13 +4008,18 @@
     Str tmp = Strnew_charp("<nobr>");
     int w = 0;
     int x = ALIGN_CENTER;
+#define HR_ATTR_WIDTH_MAX 65535
 
     if (width > indent_width)
 	width -= indent_width;
-    if (parsedtag_get_value(tag, ATTR_WIDTH, &w))
+    if (parsedtag_get_value(tag, ATTR_WIDTH, &w)) {
+	if (w > HR_ATTR_WIDTH_MAX) {
+	    w = HR_ATTR_WIDTH_MAX;
+	}
 	w = REAL_WIDTH(w, width);
-    else
+    } else {
 	w = width;
+    }
 
     parsedtag_get_value(tag, ATTR_ALIGN, &x);
     switch (x) {