|
|
b594532 |
#! /bin/sh -e
|
|
|
b594532 |
## 17_security-sprintf.dpatch
|
|
|
b594532 |
##
|
|
|
b594532 |
## DP: Description: Fix unsafe sprintf usage. (#332524)
|
|
|
b594532 |
## DP: Author: James Troup <james@nocrew.org>
|
|
|
b594532 |
## DP: Upstream status: Not submitted
|
|
|
b594532 |
## DP: URL: http://msgs.securepoint.com/cgi-bin/get/bugtraq0510/57.html
|
|
|
b594532 |
## DP: Date: 2005-10-07
|
|
|
b594532 |
|
|
|
b594532 |
if [ $# -ne 1 ]; then
|
|
|
b594532 |
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
|
|
b594532 |
exit 1
|
|
|
b594532 |
fi
|
|
|
b594532 |
case "$1" in
|
|
|
b594532 |
-patch) patch -f --no-backup-if-mismatch -p1 < $0;;
|
|
|
b594532 |
-unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;;
|
|
|
b594532 |
*)
|
|
|
b594532 |
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
|
|
b594532 |
exit 1;;
|
|
|
b594532 |
esac
|
|
|
b594532 |
|
|
|
b594532 |
exit 0
|
|
|
b594532 |
|
|
|
b594532 |
@DPATCH@
|
|
|
b594532 |
diff -urNad --exclude=CVS --exclude=.svn ./mcidas.c /tmp/dpep-work.5qsW5w/xloadimage-4.1/mcidas.c
|
|
|
b594532 |
--- ./mcidas.c 2005-10-08 04:15:18.000000000 +0100
|
|
|
b594532 |
+++ /tmp/dpep-work.5qsW5w/xloadimage-4.1/mcidas.c 2005-10-08 04:15:19.000000000 +0100
|
|
|
b594532 |
@@ -63,7 +63,7 @@
|
|
|
b594532 |
minute = (time % 10000) / 100;
|
|
|
b594532 |
second = (time % 100);
|
|
|
b594532 |
|
|
|
b594532 |
- sprintf(buf, "%d:%2.2d:%2.2d %s %d, %d (day %d)",
|
|
|
b594532 |
+ snprintf(buf, 29, "%d:%2.2d:%2.2d %s %d, %d (day %d)",
|
|
|
b594532 |
hour, minute, second, month_info[month].name, day, year,
|
|
|
b594532 |
(date % 1000));
|
|
|
b594532 |
return(buf);
|
|
|
b594532 |
diff -urNad --exclude=CVS --exclude=.svn ./reduce.c /tmp/dpep-work.5qsW5w/xloadimage-4.1/reduce.c
|
|
|
b594532 |
--- ./reduce.c 2005-10-08 04:15:18.000000000 +0100
|
|
|
b594532 |
+++ /tmp/dpep-work.5qsW5w/xloadimage-4.1/reduce.c 2005-10-08 04:15:19.000000000 +0100
|
|
|
b594532 |
@@ -501,7 +501,7 @@
|
|
|
b594532 |
|
|
|
b594532 |
depth= colorsToDepth(n);
|
|
|
b594532 |
new_image= newRGBImage(image->width, image->height, depth);
|
|
|
b594532 |
- sprintf(buf, "%s (%d colors)", image->title, n);
|
|
|
b594532 |
+ snprintf(buf, BUFSIZ - 1, "%s (%d colors)", image->title, n);
|
|
|
b594532 |
new_image->title= dupString(buf);
|
|
|
b594532 |
|
|
|
b594532 |
/* calculate RGB table from each color area. this should really calculate
|
|
|
b594532 |
diff -urNad --exclude=CVS --exclude=.svn ./rotate.c /tmp/dpep-work.5qsW5w/xloadimage-4.1/rotate.c
|
|
|
b594532 |
--- ./rotate.c 2005-10-08 04:15:18.000000000 +0100
|
|
|
b594532 |
+++ /tmp/dpep-work.5qsW5w/xloadimage-4.1/rotate.c 2005-10-08 04:15:19.000000000 +0100
|
|
|
b594532 |
@@ -70,7 +70,7 @@
|
|
|
b594532 |
{ printf(" Rotating image by %d degrees...", degrees);
|
|
|
b594532 |
fflush(stdout);
|
|
|
b594532 |
}
|
|
|
b594532 |
- sprintf(buf, "%s (rotated by %d degrees)", simage->title, degrees);
|
|
|
b594532 |
+ snprintf(buf, BUFSIZ - 1, "%s (rotated by %d degrees)", simage->title, degrees);
|
|
|
b594532 |
|
|
|
b594532 |
image1 = simage;
|
|
|
b594532 |
image2 = NULL;
|
|
|
b594532 |
diff -urNad --exclude=CVS --exclude=.svn ./tiff.c /tmp/dpep-work.5qsW5w/xloadimage-4.1/tiff.c
|
|
|
b594532 |
--- ./tiff.c 2005-10-08 04:15:18.000000000 +0100
|
|
|
b594532 |
+++ /tmp/dpep-work.5qsW5w/xloadimage-4.1/tiff.c 2005-10-08 04:15:19.000000000 +0100
|
|
|
b594532 |
@@ -125,14 +125,14 @@
|
|
|
b594532 |
switch (info->photometric) {
|
|
|
b594532 |
case PHOTOMETRIC_MINISBLACK:
|
|
|
b594532 |
if (info->bitspersample > 1) {
|
|
|
b594532 |
- sprintf(buf, "%d-bit greyscale ", info->bitspersample);
|
|
|
b594532 |
+ snprintf(buf, 31, "%d-bit greyscale ", info->bitspersample);
|
|
|
b594532 |
return(buf);
|
|
|
b594532 |
}
|
|
|
b594532 |
else
|
|
|
b594532 |
return "white-on-black ";
|
|
|
b594532 |
case PHOTOMETRIC_MINISWHITE:
|
|
|
b594532 |
if (info->bitspersample > 1) {
|
|
|
b594532 |
- sprintf(buf, "%d-bit greyscale ", info->bitspersample);
|
|
|
b594532 |
+ snprintf(buf, 31, "%d-bit greyscale ", info->bitspersample);
|
|
|
b594532 |
return(buf);
|
|
|
b594532 |
}
|
|
|
b594532 |
else
|
|
|
b594532 |
diff -urNad --exclude=CVS --exclude=.svn ./window.c /tmp/dpep-work.5qsW5w/xloadimage-4.1/window.c
|
|
|
b594532 |
--- ./window.c 2005-10-08 04:15:18.000000000 +0100
|
|
|
b594532 |
+++ /tmp/dpep-work.5qsW5w/xloadimage-4.1/window.c 2005-10-08 04:15:19.000000000 +0100
|
|
|
b594532 |
@@ -602,7 +602,7 @@
|
|
|
b594532 |
else {
|
|
|
b594532 |
char def_geom[30];
|
|
|
b594532 |
|
|
|
b594532 |
- sprintf(def_geom, "%ux%u+0+0", image->width, image->height);
|
|
|
b594532 |
+ snprintf(def_geom, 29, "%ux%u+0+0", image->width, image->height);
|
|
|
b594532 |
XGeometry(disp, scrn, opt->info.geometry.string, def_geom, 0, 1, 1, 0, 0,
|
|
|
b594532 |
(int *)&winx, (int *)&winy, (int *)&winwidth, (int *)&winheight);
|
|
|
b594532 |
}
|
|
|
b594532 |
diff -urNad --exclude=CVS --exclude=.svn ./zio.c /tmp/dpep-work.5qsW5w/xloadimage-4.1/zio.c
|
|
|
b594532 |
--- ./zio.c 2005-10-08 04:15:18.000000000 +0100
|
|
|
b594532 |
+++ /tmp/dpep-work.5qsW5w/xloadimage-4.1/zio.c 2005-10-08 04:15:28.000000000 +0100
|
|
|
b594532 |
@@ -232,7 +232,7 @@
|
|
|
b594532 |
strcpy (s, "'");
|
|
|
b594532 |
debug(("Filtering image through '%s'\n", filter->filter));
|
|
|
b594532 |
zf->type= ZPIPE;
|
|
|
b594532 |
- sprintf(buf, "%s %s", filter->filter, fname);
|
|
|
b594532 |
+ snprintf(buf, BUFSIZ - 1, "%s %s", filter->filter, fname);
|
|
|
b594532 |
lfree (fname);
|
|
|
b594532 |
if (! (zf->stream= popen(buf, "r"))) {
|
|
|
b594532 |
lfree((byte *)zf->filename);
|
|
|
b594532 |
diff -urNad --exclude=CVS --exclude=.svn ./zoom.c /tmp/dpep-work.5qsW5w/xloadimage-4.1/zoom.c
|
|
|
b594532 |
--- ./zoom.c 2005-10-08 04:15:18.000000000 +0100
|
|
|
b594532 |
+++ /tmp/dpep-work.5qsW5w/xloadimage-4.1/zoom.c 2005-10-08 04:15:19.000000000 +0100
|
|
|
b594532 |
@@ -63,23 +63,23 @@
|
|
|
b594532 |
if (!xzoom) {
|
|
|
b594532 |
if (verbose)
|
|
|
b594532 |
printf(" Zooming image Y axis by %d%%...", yzoom);
|
|
|
b594532 |
- sprintf(buf, "%s (Y zoom %d%%)", oimage->title, yzoom);
|
|
|
b594532 |
+ snprintf(buf, BUFSIZ - 1, "%s (Y zoom %d%%)", oimage->title, yzoom);
|
|
|
b594532 |
}
|
|
|
b594532 |
else if (!yzoom) {
|
|
|
b594532 |
if (verbose)
|
|
|
b594532 |
printf(" Zooming image X axis by %d%%...", xzoom);
|
|
|
b594532 |
- sprintf(buf, "%s (X zoom %d%%)", oimage->title, xzoom);
|
|
|
b594532 |
+ snprintf(buf, BUFSIZ - 1, "%s (X zoom %d%%)", oimage->title, xzoom);
|
|
|
b594532 |
}
|
|
|
b594532 |
else if (xzoom == yzoom) {
|
|
|
b594532 |
if (verbose)
|
|
|
b594532 |
printf(" Zooming image by %d%%...", xzoom);
|
|
|
b594532 |
- sprintf(buf, "%s (%d%% zoom)", oimage->title, xzoom);
|
|
|
b594532 |
+ snprintf(buf, BUFSIZ - 1, "%s (%d%% zoom)", oimage->title, xzoom);
|
|
|
b594532 |
}
|
|
|
b594532 |
else {
|
|
|
b594532 |
if (verbose)
|
|
|
b594532 |
printf(" Zooming image X axis by %d%% and Y axis by %d%%...",
|
|
|
b594532 |
xzoom, yzoom);
|
|
|
b594532 |
- sprintf(buf, "%s (X zoom %d%% Y zoom %d%%)", oimage->title,
|
|
|
b594532 |
+ snprintf(buf, BUFSIZ - 1, "%s (X zoom %d%% Y zoom %d%%)", oimage->title,
|
|
|
b594532 |
xzoom, yzoom);
|
|
|
b594532 |
}
|
|
|
b594532 |
if (verbose)
|