On Sun, Dec 11, 2016 at 03:13:16PM -0500, Gabriel Smith wrote: > 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@xxxxxxxxx> Nice catch. Merged and pushed. > --- > dtc-lexer.l | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/dtc-lexer.l b/dtc-lexer.l > index 790fbf6..f252ab9 100644 > --- a/dtc-lexer.l > +++ b/dtc-lexer.l > @@ -184,16 +184,16 @@ static void lexical_error(const char *fmt, ...); > if (d.len == 1) { > lexical_error("Empty character literal"); > yylval.integer = 0; > - return DT_CHAR_LITERAL; > - } > - > - yylval.integer = (unsigned char)d.val[0]; > + } else { > + yylval.integer = (unsigned char)d.val[0]; > > - if (d.len > 2) > - lexical_error("Character literal has %d" > - " characters instead of 1", > - d.len - 1); > + if (d.len > 2) > + lexical_error("Character literal has %d" > + " characters instead of 1", > + d.len - 1); > + } > > + data_free(d); > return DT_CHAR_LITERAL; > } > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature