@@ -182,9 +182,13 @@ putSliceUnsafe ::
182182putSliceUnsafe src srcStartBytes dst dstStartBytes lenBytes = liftIO $ do
183183#ifdef DEBUG
184184 srcLen <- sizeOfMutableByteArray src
185− dstLen <- sizeOfMutableByteArray src
186− when (srcLen - srcStartBytes < lenBytes) $ error "SRC: Insufficient length."
187− when (dstLen - dstStartBytes < lenBytes) $ error "DST: Insufficient length."
185+ dstLen <- sizeOfMutableByteArray dst
186+ when (srcLen - srcStartBytes < lenBytes)
187+ $ error $ "putSliceUnsafe: src overflow: start" ++ show srcStartBytes
188+ ++ " end " ++ show srcLen ++ " len " ++ show lenBytes
189+ when (dstLen - dstStartBytes < lenBytes)
190+ $ error $ "putSliceUnsafe: dst overflow: start" ++ show dstStartBytes
191+ ++ " end " ++ show dstLen ++ " len " ++ show lenBytes
188192#endif
189193 let !(I# srcStartBytes#) = srcStartBytes
190194 !(I# dstStartBytes#) = dstStartBytes