Selaa lähdekoodia

fix out of range

Tao Wen 8 vuotta sitten
vanhempi
commit
f7279a603e
1 muutettua tiedostoa jossa 2 lisäystä ja 2 poistoa
  1. 2 2
      feature_iter_int.go

+ 2 - 2
feature_iter_int.go

@@ -114,7 +114,7 @@ func (iter *Iterator) ReadUint32() (ret uint32) {
 
 func (iter *Iterator) readUint32(c byte) (ret uint32) {
 	defer func() {
-		if iter.buf[iter.head] == '.' {
+		if iter.head < len(iter.buf) && iter.buf[iter.head] == '.' {
 			iter.ReportError("readUint32", "can not decode float as int")
 		}
 	}()
@@ -230,7 +230,7 @@ func (iter *Iterator) ReadUint64() uint64 {
 
 func (iter *Iterator) readUint64(c byte) (ret uint64) {
 	defer func() {
-		if iter.buf[iter.head] == '.' {
+		if iter.head < len(iter.buf) && iter.buf[iter.head] == '.' {
 			iter.ReportError("readUint64", "can not decode float as int")
 		}
 	}()