From ecfdcbe1131591502c5e7f9ff4f34b24c5a2db97 Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Thu, 17 Nov 2016 19:33:09 +0900 Subject: Prevent deref null pointer in HTMLlineproc0() Bug-Debian: https://github.com/tats/w3m/issues/42 --- file.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'file.c') diff --git a/file.c b/file.c index 534e5c9..86af3a9 100644 --- a/file.c +++ b/file.c @@ -6330,10 +6330,10 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) while (*line != '\0') { char *str, *p; int is_tag = FALSE; - int pre_mode = (obuf->table_level >= 0) ? tbl_mode->pre_mode : - obuf->flag; - int end_tag = (obuf->table_level >= 0) ? tbl_mode->end_tag : - obuf->end_tag; + int pre_mode = (obuf->table_level >= 0 && tbl_mode) ? + tbl_mode->pre_mode : obuf->flag; + int end_tag = (obuf->table_level >= 0 && tbl_mode) ? + tbl_mode->end_tag : obuf->end_tag; if (*line == '<' || obuf->status != R_ST_NORMAL) { /* @@ -6415,7 +6415,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) } proc_normal: - if (obuf->table_level >= 0) { + if (obuf->table_level >= 0 && tbl && tbl_mode) { /* * within table: in ..
, all input tokens * are fed to the table renderer, and then the renderer -- cgit v1.2.3