Use of OPJ_PATH_LEN (defined as 4096) to be the maximum allowed size for filenames instead of MAX_PATH which is not always defined. This caused some programs using OpenJPEG to crash. Modifications in openjpeg.h j2k_to_image.c and image_to_j2k.c

This commit is contained in:
Francois-Olivier Devaux 2007-01-30 10:51:29 +00:00
parent d48feb45fc
commit a6d7377213
4 changed files with 16 additions and 14 deletions

View File

@ -5,6 +5,10 @@ What's New for OpenJPEG
! : changed
+ : added
January 30, 2007
! [FOD] Use of OPJ_PATH_LEN (defined as 4096) to be the maximum allowed size for filenames instead of MAX_PATH which is not always defined. This caused some programs using OpenJPEG to crash. Modifications in openjpeg.h j2k_to_image.c and image_to_j2k.c
! [FOD] Correction of the syntax usage in MJ2_codec/mj2_to_frames.c
January 23, 2007
! [FOD] Modification in the context numbers, to reflect what has been specified in standard, in libopenjpeg/t1.h

View File

@ -332,7 +332,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
infile);
return 1;
}
strncpy(parameters->infile, infile, MAX_PATH);
strncpy(parameters->infile, infile, OPJ_PATH_LEN);
}
break;
@ -350,7 +350,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
fprintf(stderr, "Unknown output format image %s [only *.j2k, *.jp2]!! \n", outfile);
return 1;
}
strncpy(parameters->outfile, outfile, MAX_PATH);
strncpy(parameters->outfile, outfile, OPJ_PATH_LEN);
}
break;
@ -498,7 +498,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
case 'x': /* creation of index file */
{
char *index = optarg;
strncpy(parameters->index, index, MAX_PATH);
strncpy(parameters->index, index, OPJ_PATH_LEN);
parameters->index_on = 1;
}
break;
@ -668,7 +668,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
/* we need to enable indexing */
if (!parameters->index_on) {
strncpy(parameters->index, JPWL_PRIVATEINDEX_NAME, MAX_PATH);
strncpy(parameters->index, JPWL_PRIVATEINDEX_NAME, OPJ_PATH_LEN);
parameters->index_on = 1;
}

View File

@ -153,7 +153,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters)
infile);
return 1;
}
strncpy(parameters->infile, infile, MAX_PATH);
strncpy(parameters->infile, infile, OPJ_PATH_LEN);
}
break;
@ -172,7 +172,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters)
fprintf(stderr, "Unknown output format image %s [only *.pnm, *.pgm, *.ppm, *.pgx or *.bmp]!! \n", outfile);
return 1;
}
strncpy(parameters->outfile, outfile, MAX_PATH);
strncpy(parameters->outfile, outfile, OPJ_PATH_LEN);
}
break;

View File

@ -90,9 +90,7 @@ braindamage below.
==========================================================
*/
#ifndef MAX_PATH
#define MAX_PATH 260 /**< Maximum allowed size for filenames */
#endif /* MAX_PATH */
#define OPJ_PATH_LEN 4096 /**< Maximum allowed size for filenames */
#define J2K_MAXRLVLS 33 /**< Number of maximum resolution level authorized */
#define J2K_MAXBANDS (3*J2K_MAXRLVLS-2) /**< Number of maximum sub-band linked to number of resolution level */
@ -256,13 +254,13 @@ typedef struct opj_cparameters {
/**@name command line encoder parameters (not used inside the library) */
/*@{*/
/** input file name */
char infile[MAX_PATH];
char infile[OPJ_PATH_LEN];
/** output file name */
char outfile[MAX_PATH];
char outfile[OPJ_PATH_LEN];
/** creation of an index file, default to 0 (false) */
int index_on;
/** index file name */
char index[MAX_PATH];
char index[OPJ_PATH_LEN];
/** subimage encoding: origin image offset in x direction */
int image_offset_x0;
/** subimage encoding: origin image offset in y direction */
@ -336,9 +334,9 @@ typedef struct opj_dparameters {
/**@name command line encoder parameters (not used inside the library) */
/*@{*/
/** input file name */
char infile[MAX_PATH];
char infile[OPJ_PATH_LEN];
/** output file name */
char outfile[MAX_PATH];
char outfile[OPJ_PATH_LEN];
/** input file format 0: J2K, 1: JP2, 2: JPT */
int decod_format;
/** output file format 0: PGX, 1: PxM, 2: BMP */