File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -220,6 +220,9 @@ fn scan_number(c: char, rdr: reader) -> token::token {
220
220
tp = if signed { either:: left ( ast:: ty_i64) }
221
221
else { either:: right ( ast:: ty_u64) } ;
222
222
}
223
+ if str:: byte_len ( num_str) == 0 u {
224
+ rdr. fatal ( "no valid digits found for number" ) ;
225
+ }
223
226
let parsed = u64:: from_str ( num_str, base as u64 ) ;
224
227
alt tp {
225
228
either : : left ( t) { ret token:: LIT_INT ( parsed as i64 , t) ; }
@@ -264,6 +267,9 @@ fn scan_number(c: char, rdr: reader) -> token::token {
264
267
ret token:: LIT_FLOAT ( interner:: intern ( * rdr. interner , num_str) ,
265
268
ast:: ty_f) ;
266
269
} else {
270
+ if str:: byte_len ( num_str) == 0 u {
271
+ rdr. fatal ( "no valid digits found for number" ) ;
272
+ }
267
273
let parsed = u64:: from_str ( num_str, base as u64 ) ;
268
274
ret token:: LIT_INT ( parsed as i64 , ast:: ty_i) ;
269
275
}
You can’t perform that action at this time.
0 commit comments