Procházet zdrojové kódy

Better edge case handling

Ben Hood před 11 roky
rodič
revize
712d53a3dc
1 změnil soubory, kde provedl 5 přidání a 1 odebrání
  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)
 }