Commit Diff


commit - b4d0ac961262aace74431d78fe952a404a6f25a1
commit + c383979b0128640f4c658acdd0a383430b49f1da
blob - cf6ecf90312db860362528f8da2bd1a2747648ae
blob + 2de67bc7a1a14767b48d97dd02172df6e38bac04
--- src/cmd/page/pdf.c
+++ src/cmd/page/pdf.c
@@ -103,6 +103,14 @@ initpdf(Biobuf *b, int argc, char **argv, uchar *buf, 
 	gscmd(&pdf->gs, "(%s) (r) file { DELAYSAFER { .setsafe } if } stopped pop pdfopen begin\n", fn);
 	gscmd(&pdf->gs, "pdfpagecount PAGE==\n");
 	p = Brdline(&pdf->gs.gsrd, '\n');
+	if(p == nil) {
+		if(Blinelen(&pdf->gs.gsrd) > 0) {
+			fprint(2, "unexpected output (too long) from gs\n");
+			return nil;
+		}
+		fprint(2, "early EOF from gs - is ghostscript installed?\n");
+		return nil;
+	}
 	npage = atoi(p);
 	if(npage < 1) {
 		fprint(2, "no pages?\n");