Ver Fonte

fix out of range

Tao Wen há 8 anos atrás
pai
commit
f7279a603e
1 ficheiros alterados com 2 adições e 2 exclusões
  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")
 		}
 	}()