X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fbin%2Fjp3d%2Fconvert.c;h=acad8f82a84fc4f64d2beef67a4ddb9c8122ed29;hb=0bc90e4062a5f9258c91eca018c019b179066c62;hp=492b193bfe36ae15e90cec3ec247348d1c212eca;hpb=28d2eabca79d06378843d1e94fecfb4a5e22178d;p=openjpeg.git diff --git a/src/bin/jp3d/convert.c b/src/bin/jp3d/convert.c index 492b193b..acad8f82 100644 --- a/src/bin/jp3d/convert.c +++ b/src/bin/jp3d/convert.c @@ -9,7 +9,7 @@ * Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe * Copyright (c) 2005, Herve Drolon, FreeImage Team * Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium - * Copyright (c) 2006, Mónica Díez García, Image Processing Laboratory, University of Valladolid, Spain + * Copyright (c) 2006, Mónica Díez García, Image Processing Laboratory, University of Valladolid, Spain * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -193,7 +193,7 @@ opj_volume_t* pgxtovolume(char *relpath, opj_cparameters_t *parameters) memset(pgxfiles, 0, MAX_SLICES * MAX_PATH * sizeof(char)); memset(&cmptparm, 0, sizeof(opj_volume_cmptparm_t)); - /* Separación del caso de un único slice frente al de muchos */ + /* Separación del caso de un único slice frente al de muchos */ if ((tmp = strrchr(relpath, '-')) == NULL) { /*fprintf(stdout,"[INFO] A volume of only one slice....\n");*/ sliceno = 1; @@ -297,8 +297,8 @@ opj_volume_t* pgxtovolume(char *relpath, opj_cparameters_t *parameters) fprintf(stdout, "[INFO] Loading %s \n", pgxfiles[pos]); fseek(f, 0, SEEK_SET); - fscanf(f, "PG%[ \t]%c%c%[ \t+-]%d%[ \t]%d%[ \t]%d", temp, &endian1, &endian2, - signtmp, &prec, temp, &w, temp, &h); + fscanf(f, "PG%31[ \t]%c%c%31[ \t+-]%d%31[ \t]%d%31[ \t]%d", temp, &endian1, + &endian2, signtmp, &prec, temp, &w, temp, &h); i = 0; sign = '+'; @@ -316,6 +316,7 @@ opj_volume_t* pgxtovolume(char *relpath, opj_cparameters_t *parameters) cmptparm.bigendian = 0; } else { fprintf(stdout, "[ERROR] Bad pgx header, please check input file\n"); + fclose(f); return NULL; } @@ -787,7 +788,7 @@ int volumetobin(opj_volume_t * volume, char *outfile) fclose(fdest); - sprintf(name, "%s.img", outfile); + snprintf(name, sizeof(name), "%s.img", outfile); fimgdest = fopen(name, "w"); if (!fimgdest) { fprintf(stdout, "[ERROR] Failed to open %s for writing\n", name);