File tree Expand file tree Collapse file tree 3 files changed +16
-3
lines changed Expand file tree Collapse file tree 3 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -308,6 +308,11 @@ s_string: "谷歌"
308
308
inputMessage : & pb3.Scalars {},
309
309
inputText : "s_sfixed64: bad" ,
310
310
wantErr : "invalid value for sfixed64" ,
311
+ }, {
312
+ desc : "incomplete number value" ,
313
+ inputMessage : & pb3.Scalars {},
314
+ inputText : `s_int32: - ` ,
315
+ wantErr : "(line 1:10): invalid scalar value: -" ,
311
316
}, {
312
317
desc : "conformance: FloatFieldMaxValue" ,
313
318
inputMessage : & pb2.Scalars {},
Original file line number Diff line number Diff line change @@ -88,15 +88,15 @@ func parseNumber(input []byte) number {
88
88
neg = true
89
89
s = s [1 :]
90
90
size ++
91
- if len (s ) == 0 {
92
- return number {}
93
- }
94
91
// Consume any whitespace or comments between the
95
92
// negative sign and the rest of the number
96
93
lenBefore := len (s )
97
94
s = consume (s , 0 )
98
95
sep = lenBefore - len (s )
99
96
size += sep
97
+ if len (s ) == 0 {
98
+ return number {}
99
+ }
100
100
}
101
101
102
102
switch {
Original file line number Diff line number Diff line change @@ -559,6 +559,14 @@ func TestDecoder(t *testing.T) {
559
559
in : "- \t 123.321e6" ,
560
560
want : []R {{E : "invalid field number: -123.321e6" }},
561
561
},
562
+ {
563
+ in : "-" ,
564
+ want : []R {{E : "invalid field name: -" }},
565
+ },
566
+ {
567
+ in : "- " ,
568
+ want : []R {{E : "invalid field name: -" }},
569
+ },
562
570
{
563
571
in : "- # negative\n 123" ,
564
572
want : []R {{E : "invalid field number: -123" }},
You can’t perform that action at this time.
0 commit comments