diff options
author | Tatsuya Kinoshita <tats@debian.org> | 2016-11-17 10:33:09 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@debian.org> | 2016-11-19 12:26:19 +0000 |
commit | a8cba1bd912a65ed40acded2bd5013d1f01253e1 (patch) | |
tree | 944b2be5f4607e5ce7ec66cce0e98f575100012c | |
parent | Prevent deref null pointer in shiftAnchorPosition() (diff) | |
download | w3m-a8cba1bd912a65ed40acded2bd5013d1f01253e1.tar.gz w3m-a8cba1bd912a65ed40acded2bd5013d1f01253e1.zip |
Prevent deref null pointer in HTMLlineproc0()
Bug-Debian: https://github.com/tats/w3m/issues/42
Origin: https://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=ecfdcbe1131591502c5e7f9ff4f34b24c5a2db97
-rw-r--r-- | file.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -6302,10 +6302,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) { /* @@ -6387,7 +6387,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 <table>..</table>, all input tokens * are fed to the table renderer, and then the renderer |