Fix uninitialised values for <i> and <dd>

Bug-Debian: https://github.com/tats/w3m/issues/16
This commit is contained in:
Tatsuya Kinoshita
2016-08-19 19:05:25 +09:00
parent 1b1803e9f8
commit 0fba2f1a6e
2 changed files with 7 additions and 0 deletions

6
file.c
View File

@@ -4686,6 +4686,12 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)
case HTML_DD: case HTML_DD:
CLOSE_A; CLOSE_A;
CLOSE_DT; 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 (envs[h_env->envc].env == HTML_DL_COMPACT) {
if (obuf->pos > envs[h_env->envc].indent) if (obuf->pos > envs[h_env->envc].indent)
flushline(h_env, obuf, envs[h_env->envc].indent, 0, flushline(h_env, obuf, envs[h_env->envc].indent, 0,

View File

@@ -126,6 +126,7 @@ parse_tag(char **s, int internal)
*(p++) = *(q++); *(p++) = *(q++);
SKIP_BLANKS(q); SKIP_BLANKS(q);
} }
tagname[0] = '\0';
while (*q && !IS_SPACE(*q) && !(tagname[0] != '/' && *q == '/') && while (*q && !IS_SPACE(*q) && !(tagname[0] != '/' && *q == '/') &&
*q != '>' && p - tagname < MAX_TAG_LEN - 1) { *q != '>' && p - tagname < MAX_TAG_LEN - 1) {
*(p++) = TOLOWER(*q); *(p++) = TOLOWER(*q);