diff --git a/Database/Sophia.hs b/Database/Sophia.hs
--- a/Database/Sophia.hs
+++ b/Database/Sophia.hs
@@ -31,12 +31,12 @@
 import Control.Monad (void, when)
 import Data.Bits ((.|.))
 import Data.ByteString (ByteString, packCStringLen)
-import Data.ByteString.Unsafe (unsafeUseAsCStringLen, unsafePackMallocCStringLen)
+import Data.ByteString.Unsafe (unsafeUseAsCStringLen)
 import Data.Typeable (Typeable)
 import Database.Sophia.Types
 import Foreign.C.String (withCString, peekCString)
 import Foreign.C.Types (CInt, CUInt, CSize(..), CChar)
-import Foreign.Marshal.Alloc (alloca)
+import Foreign.Marshal.Alloc (alloca, free)
 import Foreign.Ptr (Ptr, FunPtr, nullPtr, castPtr)
 import Foreign.Storable (peek)
 import qualified Bindings.Sophia as S
@@ -152,7 +152,7 @@
       else Just <$> do
         cPtr <- peek cPtrPtr
         cLen <- peek cLenPtr
-        unsafePackMallocCStringLen (castPtr cPtr, fromIntegral cLen)
+        packCStringLen (castPtr cPtr, fromIntegral cLen) <* free cPtr
 
 data SetValueFailed = SetValueFailed String deriving (Show, Typeable)
 instance E.Exception SetValueFailed
diff --git a/sophia.cabal b/sophia.cabal
--- a/sophia.cabal
+++ b/sophia.cabal
@@ -1,5 +1,5 @@
 name:         sophia
-version:      0.1
+version:      0.1.1
 category:     Database
 
 author:       Eyal Lotem <eyal.lotem+hackage@gmail.com>
@@ -37,7 +37,7 @@
   build-depends:
     base             < 5,
     bindings-sophia == 0.1.*,
-    bytestring      >= 0.10.2
+    bytestring      >= 0.9
 
   include-dirs:
     cbits
@@ -61,12 +61,12 @@
   main-is: Test.hs
   build-depends:
     base             < 5,
-    sophia          == 0.1.*,
-    bindings-sophia == 0.1.*,
+    sophia,
+    bindings-sophia,
     tasty           == 0.3.*,
     tasty-hunit     == 0.2.*,
-    directory       >= 1.2,
-    bytestring      >= 0.10.2
+    directory,
+    bytestring
 
 --------------------------------------------------------------------------------
 
