Subject: Prevent infinite recursion in HTMLlineproc0 Author: Tatsuya Kinoshita Bug-Debian: https://github.com/tats/w3m/issues/36 [CVE-2016-9625] Origin: https://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=ff8510ab954ac5db478964351f6a78891c34f1d8 diff --git a/file.c b/file.c index ecc1e2f..0cef9ff 100644 --- a/file.c +++ b/file.c @@ -4909,13 +4909,13 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) #ifdef USE_IMAGE i = 0; if (parsedtag_get_value(tag, ATTR_TOP_MARGIN, &i)) { - if (i > obuf->top_margin) - obuf->top_margin = i; + if ((short)i > obuf->top_margin) + obuf->top_margin = (short)i; } i = 0; if (parsedtag_get_value(tag, ATTR_BOTTOM_MARGIN, &i)) { - if (i > obuf->bottom_margin) - obuf->bottom_margin = i; + if ((short)i > obuf->bottom_margin) + obuf->bottom_margin = (short)i; } #endif return 0; @@ -4929,13 +4929,13 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) case HTML_INPUT_ALT: i = 0; if (parsedtag_get_value(tag, ATTR_TOP_MARGIN, &i)) { - if (i > obuf->top_margin) - obuf->top_margin = i; + if ((short)i > obuf->top_margin) + obuf->top_margin = (short)i; } i = 0; if (parsedtag_get_value(tag, ATTR_BOTTOM_MARGIN, &i)) { - if (i > obuf->bottom_margin) - obuf->bottom_margin = i; + if ((short)i > obuf->bottom_margin) + obuf->bottom_margin = (short)i; } if (parsedtag_get_value(tag, ATTR_HSEQ, &hseq)) { obuf->input_alt.hseq = hseq;