on master help sign in
Check for nullPtr when converting foreign ptr to an array
244926badithyaov
src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs+2
@@ -410,6 +410,8 @@ fromForeignPtrUnsafe ::
410 Storable a =>
410 Storable a =>
411#endif
411#endif
412 ForeignPtr a -> Ptr a -> Ptr a -> Array a
412 ForeignPtr a -> Ptr a -> Ptr a -> Array a
413+fromForeignPtrUnsafe (ForeignPtr start _) _ _
414+ | Ptr start == nullPtr = nil
413fromForeignPtrUnsafe fp@(ForeignPtr start contents) end bound =
415fromForeignPtrUnsafe fp@(ForeignPtr start contents) end bound =
414 assert (unsafeForeignPtrToPtr fp <= end && end <= bound)
416 assert (unsafeForeignPtrToPtr fp <= end && end <= bound)
415 (Array (fptrToArrayContents contents) (Ptr start) end bound)
417 (Array (fptrToArrayContents contents) (Ptr start) end bound)