mirror of
https://github.com/dgibson/dtc.git
synced 2025-10-26 23:36:17 -04:00
dtc: Fix memory leak in character literal parsing
The data struct used for parsing character literals was never freed resulting in a few bytes leaked for every character. Signed-off-by: Gabriel Smith <ga29smith@gmail.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
00fbb8696b
commit
f88865469b
1 changed files with 8 additions and 8 deletions
|
|
@ -189,16 +189,16 @@ static void lexical_error(const char *fmt, ...);
|
||||||
if (d.len == 1) {
|
if (d.len == 1) {
|
||||||
lexical_error("Empty character literal");
|
lexical_error("Empty character literal");
|
||||||
yylval.integer = 0;
|
yylval.integer = 0;
|
||||||
return DT_CHAR_LITERAL;
|
} else {
|
||||||
}
|
|
||||||
|
|
||||||
yylval.integer = (unsigned char)d.val[0];
|
yylval.integer = (unsigned char)d.val[0];
|
||||||
|
|
||||||
if (d.len > 2)
|
if (d.len > 2)
|
||||||
lexical_error("Character literal has %d"
|
lexical_error("Character literal has %d"
|
||||||
" characters instead of 1",
|
" characters instead of 1",
|
||||||
d.len - 1);
|
d.len - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
data_free(d);
|
||||||
return DT_CHAR_LITERAL;
|
return DT_CHAR_LITERAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue