Issue2681: the literal 0o8 was wrongly accepted, and evaluated as float(0.0).
This happened only when 8 is the first digit.
Credits go to Lukas Meuser.
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 29fb114..1d0a4aa 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -1351,7 +1351,7 @@
                         else if (c == 'o' || c == 'O') {
 				/* Octal */
 				c = tok_nextc(tok);
-				if (c < '0' || c > '8') {
+				if (c < '0' || c >= '8') {
 					tok->done = E_TOKEN;
 					tok_backup(tok, c);
 					return ERRORTOKEN;