diff options
| author | szukw000 <szukw000@arcor.de> | 2018-03-13 18:11:54 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-09-22 23:05:38 +0200 |
| commit | 1eb9a57ac1216209a4d9adf87bc47ba19810d3b3 (patch) | |
| tree | f5c03c5136cc208bfc2e372a2e81907afb8f1bf7 /src | |
| parent | 2c7eb4fed9cbed43ae402840f6706998ce2dd1c4 (diff) | |
opj_mj2_extract: Avoid segfault for long filenames
Diffstat (limited to 'src')
| -rw-r--r-- | src/bin/mj2/opj_mj2_extract.c | 7 |
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) { |
