Mercurial > hg > index.cgi
diff lwasm/output.c @ 500:733fd05ca2a8
Initialize temporary line structures properly
Apparently, not initializing all elements of a struct can lead to random
problems if something somewhere decides it should reference one of those
uninitialized fields. Who knew. Set the temporary line_t structure to zeroes
before passing it into anything when calculating the stuff for "object"
output which should at least make things predictable.
This seems to fix a crash reported by "strick" in Discord.
author | William Astle <lost@l-w.ca> |
---|---|
date | Thu, 29 Aug 2019 17:00:17 -0600 |
parents | 999ae00d0919 |
children | a812bb4d3a51 |
line wrap: on
line diff
--- a/lwasm/output.c Thu Aug 08 23:48:18 2019 -0600 +++ b/lwasm/output.c Thu Aug 29 17:00:17 2019 -0600 @@ -895,7 +895,7 @@ { int eval; lw_expr_t te; - line_t tl; + line_t tl = { 0 }; if (ex -> se == NULL) continue; @@ -930,7 +930,7 @@ { int offset; lw_expr_t te; - line_t tl; + line_t tl = { 0 }; tl.as = as; as -> cl = &tl;