# HG changeset patch # User Russ Cox # Date 1319561709 14400 # Node ID abff10878ce4b6583d71bf3ab8bc73da68957a57 # Parent cc9d45154e3980ba40fb6c9e74e51d882e6f7f49 page: check for gs failure diff -r cc9d45154e3980ba40fb6c9e74e51d882e6f7f49 -r abff10878ce4b6583d71bf3ab8bc73da68957a57 src/cmd/page/pdf.c --- a/src/cmd/page/pdf.c Sun Oct 23 18:47:29 2011 -0400 +++ b/src/cmd/page/pdf.c Tue Oct 25 12:55:09 2011 -0400 @@ -103,6 +103,14 @@ 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");