Linear memory extents over SSIZE_MAX are undefined, so there is no
point in protecting against them.
diff -ru zvbi.orig/src/export.c zvbi/src/export.c
--- zvbi.orig/src/export.c	2011-11-06 11:22:47.000000000 +0200
+++ zvbi/src/export.c	2011-11-06 11:27:39.000000000 +0200
@@ -1076,8 +1076,6 @@
 		size_t count;
 
 		count = src_size;
-		if (unlikely (src_size > SSIZE_MAX))
-			count = SSIZE_MAX & -4096;
 
 		for (retry = 10;; --retry) {
 			actual = write (e->_handle.fd, src, count);
@@ -1632,12 +1630,7 @@
 			free (e->buffer.data);
 		}
 
-		if (unlikely (e->buffer.offset > (size_t) SSIZE_MAX)) {
-			errno = EOVERFLOW;
-			actual = -1; /* failed */
-		} else {
-			actual = e->buffer.offset;
-		}
+		actual = e->buffer.offset;
 	} else {
 		if (VBI_EXPORT_TARGET_ALLOC == e->target)
 			free (e->buffer.data);
