]> granicus.if.org Git - python/commitdiff
#3367 from Kristjan Valur Jonsson:
authorAndrew M. Kuchling <amk@amk.ca>
Tue, 5 Aug 2008 01:38:08 +0000 (01:38 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Tue, 5 Aug 2008 01:38:08 +0000 (01:38 +0000)
If a PyTokenizer_FromString() is called with an empty string, the
tokenizer's line_start member never gets initialized.  Later, it is
compared with the token pointer 'a' in parsetok.c:193 and that behavior
can result in undefined behavior.

Parser/tokenizer.c

index 1d0a4aa3f23b438dc5c17185bbd973130582f436..73ff92a19939abb7573a95a0823b050fabf31f50 100644 (file)
@@ -1117,7 +1117,7 @@ tok_get(register struct tok_state *tok, char **p_start, char **p_end)
        register int c;
        int blankline;
 
-       *p_start = *p_end = NULL;
+       tok->line_start = *p_start = *p_end = NULL;
   nextline:
        tok->start = NULL;
        blankline = 0;