summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorszukw000 <szukw000@arcor.de>2018-03-13 18:11:54 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-09-22 23:05:38 +0200
commit1eb9a57ac1216209a4d9adf87bc47ba19810d3b3 (patch)
treef5c03c5136cc208bfc2e372a2e81907afb8f1bf7 /src
parent2c7eb4fed9cbed43ae402840f6706998ce2dd1c4 (diff)
opj_mj2_extract: Avoid segfault for long filenames
Diffstat (limited to 'src')
-rw-r--r--src/bin/mj2/opj_mj2_extract.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/bin/mj2/opj_mj2_extract.c b/src/bin/mj2/opj_mj2_extract.c
index 9384dc6d..f55eb66f 100644
--- a/src/bin/mj2/opj_mj2_extract.c
+++ b/src/bin/mj2/opj_mj2_extract.c
@@ -82,7 +82,7 @@ int main(int argc, char *argv[])
mj2_sample_t *sample;
unsigned char* frame_codestream;
FILE *file, *outfile;
- char outfilename[50];
+ char outfilename[FILENAME_MAX];
mj2_dparameters_t parameters;
if (argc != 3) {
@@ -91,6 +91,11 @@ int main(int argc, char *argv[])
return 1;
}
+ if (strlen(argv[2]) + 11 > sizeof(outfilename)) {
+ fprintf(stderr, "filename %d too long\n", strlen(argv[2]) + 11);
+ return 1;
+ }
+
file = fopen(argv[1], "rb");
if (!file) {