Note that Decode's dst and src must not overlap.
diff --git a/decode.go b/decode.go
index 666e170..8a1eca0 100644
--- a/decode.go
+++ b/decode.go
@@ -47,7 +47,7 @@
 // slice of dst if dst was large enough to hold the entire decoded block.
 // Otherwise, a newly allocated slice will be returned.
 //
-// It is valid to pass a nil dst.
+// The dst and src must not overlap. It is valid to pass a nil dst.
 func Decode(dst, src []byte) ([]byte, error) {
 	dLen, s, err := decodedLen(src)
 	if err != nil {