summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/tools/pngfix.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/tools/pngfix.c b/contrib/tools/pngfix.c
index 9afe09831..54a467daf 100644
--- a/contrib/tools/pngfix.c
+++ b/contrib/tools/pngfix.c
@@ -3961,6 +3961,14 @@ main(int argc, const char **argv)
{
size_t outlen = strlen(*argv);
+ if (outlen > FILENAME_MAX)
+ {
+ fprintf(stderr, "%s: output file name too long: %s%s%s\n",
+ prog, prefix, *argv, suffix ? suffix : "");
+ global.status_code |= WRITE_ERROR;
+ continue;
+ }
+
if (outfile == NULL) /* else this takes precedence */
{
/* Consider the prefix/suffix options */
@@ -4046,4 +4054,3 @@ main(void)
return 77;
}
#endif /* PNG_SETJMP_SUPPORTED */
-