diff --git a/pdf.c b/pdf.c
index 6f342c6a3c64592a299498f21aa6e10191d85b14..d9538902efb819333cbe8871d1b35bb3d6bb3227 100644
--- a/pdf.c
+++ b/pdf.c
@@ -1322,7 +1322,7 @@ main(int argc, char *argv[])
 	struct Env aux;
 	HParseResult *res = NULL;
 	const uint8_t *input;
-	size_t sz;
+	off_t sz;
 	int fd;
 
 	/* command line handling */
@@ -1339,6 +1339,7 @@ main(int argc, char *argv[])
 	sz = lseek(fd, 0, SEEK_END);
 	if (sz == -1)
 		err(1, "lseek");
+	assert(sz >= 0);
 	input = mmap(NULL, sz?sz:1, PROT_READ, MAP_PRIVATE, fd, 0);
 	if (input == MAP_FAILED)
 		err(1, "mmap");