Fix buffer overflows in jp2/jpwl compress/decompress
This commit is contained in:
parent
d2205ba2ee
commit
5b54ae7e51
|
@ -654,9 +654,13 @@ static int parse_cmdline_encoder(int argc, char **argv,
|
|||
case 'O': { /* output format */
|
||||
char outformat[50];
|
||||
char *of = opj_optarg;
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
if (strlen(opj_optarg) < sizeof(outformat)) {
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
} else {
|
||||
parameters->cod_format = -1;
|
||||
}
|
||||
switch (parameters->cod_format) {
|
||||
case J2K_CFMT:
|
||||
case JP2_CFMT:
|
||||
|
|
|
@ -662,9 +662,13 @@ int parse_cmdline_decoder(int argc, char **argv,
|
|||
case 'O': { /* output format */
|
||||
char outformat[50];
|
||||
char *of = opj_optarg;
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
if (strlen(opj_optarg) < sizeof(outformat)) {
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
} else {
|
||||
parameters->cod_format = -1;
|
||||
}
|
||||
switch (parameters->cod_format) {
|
||||
case PGX_DFMT:
|
||||
img_fol->out_format = "pgx";
|
||||
|
|
|
@ -768,9 +768,13 @@ static int parse_cmdline_encoder(int argc, char **argv,
|
|||
case 'O': { /* output format */
|
||||
char outformat[50];
|
||||
char *of = opj_optarg;
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
if (strlen(opj_optarg) < sizeof(outformat)) {
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
} else {
|
||||
parameters->cod_format = -1;
|
||||
}
|
||||
switch (parameters->cod_format) {
|
||||
case J2K_CFMT:
|
||||
case JP2_CFMT:
|
||||
|
|
|
@ -345,9 +345,13 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,
|
|||
case 'O': { /* output format */
|
||||
char outformat[50];
|
||||
char *of = opj_optarg;
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
if (strlen(opj_optarg) < sizeof(outformat)) {
|
||||
sprintf(outformat, ".%s", of);
|
||||
img_fol->set_out_format = 1;
|
||||
parameters->cod_format = get_file_format(outformat);
|
||||
} else {
|
||||
parameters->cod_format = -1;
|
||||
}
|
||||
switch (parameters->cod_format) {
|
||||
case PGX_DFMT:
|
||||
img_fol->out_format = "pgx";
|
||||
|
|
Loading…
Reference in New Issue