From 70dc515711786a04b6929d2788ae4861638d9d60 Mon Sep 17 00:00:00 2001 From: Dirk Meyer Date: Thu, 4 Dec 2008 20:57:48 +0000 Subject: - fix buffer overrun at startup PR: 129326 Submitted by: G. Paul Ziemba --- x11-clocks/asclock/Makefile | 2 +- x11-clocks/asclock/files/patch-color | 76 ++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 x11-clocks/asclock/files/patch-color (limited to 'x11-clocks/asclock') diff --git a/x11-clocks/asclock/Makefile b/x11-clocks/asclock/Makefile index 37fe0a518c4d..51d829e50321 100644 --- a/x11-clocks/asclock/Makefile +++ b/x11-clocks/asclock/Makefile @@ -7,7 +7,7 @@ PORTNAME= asclock PORTVERSION= 1.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11-clocks afterstep MASTER_SITES= ${MASTER_SITE_XCONTRIB} MASTER_SITE_SUBDIR= applications diff --git a/x11-clocks/asclock/files/patch-color b/x11-clocks/asclock/files/patch-color new file mode 100644 index 000000000000..cd2ccfc1eb29 --- /dev/null +++ b/x11-clocks/asclock/files/patch-color @@ -0,0 +1,76 @@ +--- asclock.c ++++ work/asclock/asclock.c 2008-11-30 23:32:41.000000000 -0800 +@@ -302,8 +302,8 @@ + static char **clock_xpm; + XColor col; + XWindowAttributes attributes; +- char led1[22]; +- char led2[22]; ++ char led1[64]; ++ char led2[64]; + int ret; + + clock_xpm =ONLYSHAPE ? mask_xpm : clk_xpm; +@@ -317,51 +317,49 @@ + nocolor("parse",LedColor); + } + +- sprintf(&led1[0], ". c #%4X%4X%4X", col.red, col.green, col.blue); +- for(ret=10;ret<22;ret++) +- if(led1[ret]==' ') led1[ret]='0'; +- led_xpm[2] = &led1[0]; ++ sprintf(led1, ". c #%04X%04X%04X", col.red, col.green, col.blue); ++ led_xpm[2] = led1; + + col.red = (col.red /10) *3; + col.green = (col.green/10) *3; + col.blue = (col.blue /10) *3; +- sprintf(&led2[0], "X c #%4X%4X%4X", col.red, col.green, col.blue); +- for(ret=10;ret<22;ret++) +- if(led2[ret]==' ') led2[ret]='0'; +- led_xpm[3] = &led2[0]; ++ sprintf(led2, "X c #%04X%04X%04X", col.red, col.green, col.blue); ++ led_xpm[3] = led2; + + asclock.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); + ret = XpmCreatePixmapFromData(dpy, Root, clock_xpm, &asclock.pixmap, + &asclock.mask, &asclock.attributes); + if(ret != XpmSuccess) +- {fprintf(stderr, ERR_colorcells);exit(1);} ++ {fprintf(stderr, "1: %s\n", XpmGetErrorString(ret));exit(1);} + visible.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); + ret = XpmCreatePixmapFromData(dpy, Root, clk_xpm, &visible.pixmap, + &visible.mask, &visible.attributes); ++ if(ret != XpmSuccess) ++ {fprintf(stderr, "2: %s\n", XpmGetErrorString(ret));exit(1);} + + led.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); + ret = XpmCreatePixmapFromData(dpy, Root, led_xpm, &led.pixmap, + &led.mask, &led.attributes); + if(ret != XpmSuccess) +- {fprintf(stderr, ERR_colorcells);exit(1);} ++ {fprintf(stderr, "3: %s\n", XpmGetErrorString(ret));exit(1);} + + month.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); + ret = XpmCreatePixmapFromData(dpy, Root, month_xpm, &month.pixmap, + &month.mask, &month.attributes); + if(ret != XpmSuccess) +- {fprintf(stderr, ERR_colorcells);exit(1);} ++ {fprintf(stderr, "4: %s\n", XpmGetErrorString(ret));exit(1);} + + date.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); + ret = XpmCreatePixmapFromData(dpy, Root, date_xpm, &date.pixmap, + &date.mask, &date.attributes); + if(ret != XpmSuccess) +- {fprintf(stderr, ERR_colorcells);exit(1);} ++ {fprintf(stderr, "5: %s\n", XpmGetErrorString(ret));exit(1);} + + weekday.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); + ret = XpmCreatePixmapFromData(dpy, Root, weekday_xpm, &weekday.pixmap, + &weekday.mask, &weekday.attributes); + if(ret != XpmSuccess) +- {fprintf(stderr, ERR_colorcells);exit(1);} ++ {fprintf(stderr, "6: %s\n", XpmGetErrorString(ret));exit(1);} + } + /****************************************************************************/ + /* Removes expose events for a specific window from the queue */ -- cgit v1.2.3