aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTatsuya Kinoshita <tats@debian.org>2016-08-19 10:05:25 +0000
committerTatsuya Kinoshita <tats@debian.org>2016-08-19 10:05:25 +0000
commit0fba2f1a6eb6861206ad120a02af2643938082cd (patch)
tree35b9ced6fdbe6c34520d2161f3d6ea5b036d85e4
parentUpdate ChangeLog (diff)
downloadw3m-0fba2f1a6eb6861206ad120a02af2643938082cd.tar.gz
w3m-0fba2f1a6eb6861206ad120a02af2643938082cd.zip
Fix uninitialised values for <i> and <dd>
Bug-Debian: https://github.com/tats/w3m/issues/16
-rw-r--r--file.c6
-rw-r--r--parsetagx.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/file.c b/file.c
index de916bc..b66f8c8 100644
--- a/file.c
+++ b/file.c
@@ -4686,6 +4686,12 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)
case HTML_DD:
CLOSE_A;
CLOSE_DT;
+ if (h_env->envc == 0 ||
+ (h_env->envc_real < h_env->nenv &&
+ envs[h_env->envc].env != HTML_DL &&
+ envs[h_env->envc].env != HTML_DL_COMPACT)) {
+ PUSH_ENV(HTML_DL);
+ }
if (envs[h_env->envc].env == HTML_DL_COMPACT) {
if (obuf->pos > envs[h_env->envc].indent)
flushline(h_env, obuf, envs[h_env->envc].indent, 0,
diff --git a/parsetagx.c b/parsetagx.c
index 3435f9f..cd1ff58 100644
--- a/parsetagx.c
+++ b/parsetagx.c
@@ -126,6 +126,7 @@ parse_tag(char **s, int internal)
*(p++) = *(q++);
SKIP_BLANKS(q);
}
+ tagname[0] = '\0';
while (*q && !IS_SPACE(*q) && !(tagname[0] != '/' && *q == '/') &&
*q != '>' && p - tagname < MAX_TAG_LEN - 1) {
*(p++) = TOLOWER(*q);