on master help sign in
Fix debug check in putSliceUnsafe
a79caedHarendra Kumar
core/src/Streamly/Internal/Data/MutByteArray/Type.hs+7−3
@@ -182,9 +182,13 @@ putSliceUnsafe ::
182putSliceUnsafe src srcStartBytes dst dstStartBytes lenBytes = liftIO $ do
182putSliceUnsafe src srcStartBytes dst dstStartBytes lenBytes = liftIO $ do
183#ifdef DEBUG
183#ifdef DEBUG
184 srcLen <- sizeOfMutableByteArray src
184 srcLen <- sizeOfMutableByteArray src
185− dstLen <- sizeOfMutableByteArray src
185+ dstLen <- sizeOfMutableByteArray dst
186− when (srcLen - srcStartBytes < lenBytes) $ error "SRC: Insufficient length."
186+ when (srcLen - srcStartBytes < lenBytes)
187+ $ error $ "putSliceUnsafe: src overflow: start" ++ show srcStartBytes
188+ ++ " end " ++ show srcLen ++ " len " ++ show lenBytes
187− when (dstLen - dstStartBytes < lenBytes) $ error "DST: Insufficient length."
189+ when (dstLen - dstStartBytes < lenBytes)
190+ $ error $ "putSliceUnsafe: dst overflow: start" ++ show dstStartBytes
191+ ++ " end " ++ show dstLen ++ " len " ++ show lenBytes
188#endif
192#endif
189 let !(I# srcStartBytes#) = srcStartBytes
193 let !(I# srcStartBytes#) = srcStartBytes
190 !(I# dstStartBytes#) = dstStartBytes
194 !(I# dstStartBytes#) = dstStartBytes