Browse Source

Handling for corner case

Ben Hood 11 years ago
parent
commit
0ad0ed81c4
1 changed files with 4 additions and 0 deletions
  1. 4 0
      marshal.go

+ 4 - 0
marshal.go

@@ -696,6 +696,10 @@ func marshalDecimal(info *TypeInfo, value interface{}) ([]byte, error) {
 		}
 
 		unscaled := encBigInt2C(v.UnscaledBig())
+		if unscaled == nil {
+			return nil, marshalErrorf("can not marshal %T into %s", value, info)
+		}
+
 		buf := make([]byte, 4+len(unscaled))
 		copy(buf[0:4], encInt(int32(v.Scale())))
 		copy(buf[4:], unscaled)