diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,2 +1,5 @@
 # libarchive
 
+## 0.2.0.0
+
+  * Fix bug in paths
diff --git a/libarchive.cabal b/libarchive.cabal
--- a/libarchive.cabal
+++ b/libarchive.cabal
@@ -1,11 +1,12 @@
 cabal-version: 1.18
 name: libarchive
-version: 0.1.0.0
+version: 0.2.0.0
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
 maintainer: vanessa.mchale@iohk.io
 author: Vanessa McHale
+bug-reports: https://github.com/vmchale/libarchive/issues
 synopsis: Haskell bindings for libarchive
 description:
     Partial Haskell bindings for [libarchive](https://www.libarchive.org/). Provides the ability to unpack tar archives.
diff --git a/src/Codec/Archive.hs b/src/Codec/Archive.hs
--- a/src/Codec/Archive.hs
+++ b/src/Codec/Archive.hs
@@ -3,13 +3,12 @@
     , unpackTarball
     ) where
 
-import Codec.Archive.Foreign (unpackToDir)
-import qualified Data.ByteString as BS
-import System.FilePath (pathSeparator)
+import           Codec.Archive.Foreign (unpackToDir)
+import qualified Data.ByteString       as BS
 
 unpackTarball :: FilePath -- ^ Filepath pointing to @.tar@ file
               -> FilePath -- ^ Filepath to unpack to
               -> IO ()
 unpackTarball tarFp dirFp = do
     contents <- BS.readFile tarFp
-    unpackToDir (dirFp ++ [pathSeparator]) contents
+    unpackToDir dirFp contents
diff --git a/src/Codec/Archive/Foreign.hs b/src/Codec/Archive/Foreign.hs
--- a/src/Codec/Archive/Foreign.hs
+++ b/src/Codec/Archive/Foreign.hs
@@ -1,18 +1,19 @@
 module Codec.Archive.Foreign ( unpackToDir
                              ) where
-import Foreign.Ptr
-import Foreign.C.String
-import Foreign.C.Types
-import Data.ByteString as BS
-import Data.Word (Word)
+import           Data.ByteString  as BS
+import           Data.Word        (Word)
+import           Foreign.C.String
+import           Foreign.C.Types
+import           Foreign.Ptr
+import           System.FilePath  (pathSeparator)
 
 foreign import ccall unsafe unpack_in_dir :: CString -> Ptr CChar -> Word -> IO ()
 
-unpackToDir :: FilePath 
+unpackToDir :: FilePath
             -> BS.ByteString
             -> IO ()
 unpackToDir fp bs = do
-    fp' <- newCString fp
+    fp' <- newCString (fp ++ [pathSeparator])
     useAsCStringLen bs $
-        \(charPtr, sz) -> 
+        \(charPtr, sz) ->
             unpack_in_dir fp' charPtr (fromIntegral sz)
