summaryrefslogtreecommitdiffstats
path: root/abs/core/libtiff/tiffsplit-fname-overflow.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/libtiff/tiffsplit-fname-overflow.patch')
-rw-r--r--abs/core/libtiff/tiffsplit-fname-overflow.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/abs/core/libtiff/tiffsplit-fname-overflow.patch b/abs/core/libtiff/tiffsplit-fname-overflow.patch
new file mode 100644
index 0000000..cc22589
--- /dev/null
+++ b/abs/core/libtiff/tiffsplit-fname-overflow.patch
@@ -0,0 +1,19 @@
+--- tiff-3.8.2/tools/tiffsplit.c.orig 2005-12-07 04:48:33.000000000 -0500
++++ tiff-3.8.2/tools/tiffsplit.c 2006-06-01 21:20:25.039944864 -0400
+@@ -61,14 +61,13 @@
+ return (-3);
+ }
+ if (argc > 2)
+- strcpy(fname, argv[2]);
++ snprintf(fname, sizeof(fname), "%s", argv[2]);
+ in = TIFFOpen(argv[1], "r");
+ if (in != NULL) {
+ do {
+ char path[1024+1];
+ newfilename();
+- strcpy(path, fname);
+- strcat(path, ".tif");
++ snprintf(path, sizeof(path), "%s.tif", fname);
+ out = TIFFOpen(path, TIFFIsBigEndian(in)?"wb":"wl");
+ if (out == NULL)
+ return (-2);