diff --git a/Network/ByteOrder.hs b/Network/ByteOrder.hs
--- a/Network/ByteOrder.hs
+++ b/Network/ByteOrder.hs
@@ -461,7 +461,7 @@
 -- | Allocate a temporary buffer and copy the result to 'ByteString'.
 withWriteBuffer :: BufferSize -> (WriteBuffer -> IO ()) -> IO ByteString
 withWriteBuffer siz action = bracket (mallocBytes siz) free $ \buf -> do
-    wbuf <- newWriteBuffer buf 4096
+    wbuf <- newWriteBuffer buf siz
     action wbuf
     toByteString wbuf
 
@@ -594,6 +594,7 @@
     ff rbuf 4
     return w32
 
+-- | Buffer overrun exception.
 data BufferOverrun = BufferOverrun -- ^ The buffer size is not enough
                      deriving (Eq,Show,Typeable)
 
diff --git a/network-byte-order.cabal b/network-byte-order.cabal
--- a/network-byte-order.cabal
+++ b/network-byte-order.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                network-byte-order
-version:             0.1.1.0
+version:             0.1.1.1
 synopsis:            Network byte order utilities
 description:         Peek and poke functions for network byte order.
 license:             BSD3
