From c8cbd16d7ba0179bce3a489ba217ecdf6ac2b92d Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Feb 05 2020 04:49:44 +0000 Subject: fix unpackGPtrArray crash https://github.com/haskell-gi/haskell-gi/issues/262 --- diff --git a/BasicConversions-unpackGPtrArray-CUInt.patch b/BasicConversions-unpackGPtrArray-CUInt.patch new file mode 100644 index 0000000..83fa2d8 --- /dev/null +++ b/BasicConversions-unpackGPtrArray-CUInt.patch @@ -0,0 +1,13 @@ +diff --git a/base/Data/GI/Base/BasicConversions.hsc b/base/Data/GI/Base/BasicConversions.hsc +index 26209c5..fe4d886 100644 +--- a/base/Data/GI/Base/BasicConversions.hsc ++++ b/base/Data/GI/Base/BasicConversions.hsc +@@ -201,7 +201,7 @@ unpackGPtrArray array = do + dataPtr <- peek (castPtr array :: Ptr (Ptr (Ptr a))) + nitems <- peek (array `plusPtr` sizeOf dataPtr) + go dataPtr nitems +- where go :: Ptr (Ptr a) -> Int -> IO [Ptr a] ++ where go :: Ptr (Ptr a) -> CUInt -> IO [Ptr a] + go _ 0 = return [] + go ptr n = do + x <- peek ptr diff --git a/ghc-haskell-gi-base.spec b/ghc-haskell-gi-base.spec index 469ebe4..6d6550f 100644 --- a/ghc-haskell-gi-base.spec +++ b/ghc-haskell-gi-base.spec @@ -6,7 +6,7 @@ Name: ghc-%{pkg_name} Version: 0.21.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Foundation for libraries generated by haskell-gi License: LGPLv2+ @@ -14,6 +14,7 @@ Url: https://hackage.haskell.org/package/%{pkg_name} # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz # End cabal-rpm sources +Patch1: BasicConversions-unpackGPtrArray-CUInt.patch # Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel @@ -71,6 +72,7 @@ This package provides the Haskell %{pkg_name} profiling library. # Begin cabal-rpm setup: %setup -q -n %{pkgver} # End cabal-rpm setup +%patch1 -p2 -b .orig %build @@ -106,6 +108,9 @@ This package provides the Haskell %{pkg_name} profiling library. %changelog +* Wed Jan 29 2020 Jens Petersen - 0.21.5-3 +- fix unpackGPtrArray (https://github.com/haskell-gi/haskell-gi/issues/262) + * Tue Jan 28 2020 Fedora Release Engineering - 0.21.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild