Explorar o código

Better edge case handling

Ben Hood %!s(int64=12) %!d(string=hai) anos
pai
achega
712d53a3dc
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      marshal.go

+ 5 - 1
marshal.go

@@ -717,8 +717,12 @@ func unmarshalDecimal(info *TypeInfo, data []byte, value interface{}) error {
 			scale := decInt(data[0:4])
 			unscaled := decBigInt2C(data[4:])
 			*v = inf.NewDecBig(unscaled, inf.Scale(scale))
+			return nil
+		} else if len(data) == 0 {
+			return nil
+		} else {
+			return unmarshalErrorf("can not unmarshal %s into %T", info, value)
 		}
-		return nil
 	}
 	return unmarshalErrorf("can not unmarshal %s into %T", info, value)
 }