Fix buffer overflow (#752388)
parent
0ba36bb952
commit
76cb706e3c
@ -0,0 +1,47 @@
|
|||||||
|
--- a/apps/pdfapp.c
|
||||||
|
+++ b/apps/pdfapp.c
|
||||||
|
@@ -285,8 +287,20 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repai
|
||||||
|
|
||||||
|
if (drawpage)
|
||||||
|
{
|
||||||
|
- sprintf(buf, "%s - %d/%d (%d dpi)", app->doctitle,
|
||||||
|
+ char buf2[64];
|
||||||
|
+ int len;
|
||||||
|
+
|
||||||
|
+ sprintf(buf2, " - %d/%d (%d dpi)",
|
||||||
|
app->pageno, app->pagecount, app->resolution);
|
||||||
|
+ len = MAX_TITLE-strlen(buf2);
|
||||||
|
+ if (strlen(app->doctitle) > len)
|
||||||
|
+ {
|
||||||
|
+ snprintf(buf, len-3, "%s", app->doctitle);
|
||||||
|
+ strcat(buf, "...");
|
||||||
|
+ strcat(buf, buf2);
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ sprintf(buf, "%s%s", app->doctitle, buf2);
|
||||||
|
wintitle(app, buf);
|
||||||
|
|
||||||
|
ctm = pdfapp_viewctm(app);
|
||||||
|
--
|
||||||
|
--- apps/pdfapp.c 2012-03-14 21:50:05.673159926 +0400
|
||||||
|
+++ b/apps/pdfapp.c 2012-03-14 21:50:36.621159125 +0400
|
||||||
|
@@ -339,7 +339,7 @@
|
||||||
|
|
||||||
|
static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint)
|
||||||
|
{
|
||||||
|
- char buf[256];
|
||||||
|
+ char buf[MAX_TITLE];
|
||||||
|
fz_device *idev;
|
||||||
|
fz_device *tdev;
|
||||||
|
fz_colorspace *colorspace;
|
||||||
|
--- apps/pdfapp.c 2012-03-14 21:53:20.659154121 +0400
|
||||||
|
+++ b/apps/pdfapp.c 2012-03-14 21:55:33.566150087 +0400
|
||||||
|
@@ -336,7 +336,7 @@
|
||||||
|
|
||||||
|
xps_free_page(app->xps, page);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+#define MAX_TITLE 256
|
||||||
|
static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint)
|
||||||
|
{
|
||||||
|
char buf[MAX_TITLE];
|
Loading…
Reference in new issue