|
|
61cfe0 |
diff -up jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings jbigkit-2.1/pbmtools/pbmtojbg85.c
|
|
|
61cfe0 |
--- jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings 2008-08-26 00:26:39.000000000 +0200
|
|
|
61cfe0 |
+++ jbigkit-2.1/pbmtools/pbmtojbg85.c 2012-07-17 16:24:56.741332942 +0200
|
|
|
61cfe0 |
@@ -72,9 +72,12 @@ static unsigned long getint(FILE *f)
|
|
|
61cfe0 |
while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ;
|
|
|
61cfe0 |
if (c != EOF) {
|
|
|
61cfe0 |
ungetc(c, f);
|
|
|
61cfe0 |
- fscanf(f, "%lu", &i);
|
|
|
61cfe0 |
+ if (fscanf(f, "%lu", &i) != 1) {
|
|
|
61cfe0 |
+ /* should never fail, since c must be a digit */
|
|
|
61cfe0 |
+ fprintf(stderr, "Unexpected failure reading digit '%c'\n", c);
|
|
|
61cfe0 |
+ exit(1);
|
|
|
61cfe0 |
+ }
|
|
|
61cfe0 |
}
|
|
|
61cfe0 |
-
|
|
|
61cfe0 |
return i;
|
|
|
61cfe0 |
}
|
|
|
61cfe0 |
|
|
|
61cfe0 |
@@ -239,7 +242,9 @@ int main (int argc, char **argv)
|
|
|
61cfe0 |
break;
|
|
|
61cfe0 |
case '4':
|
|
|
61cfe0 |
/* PBM raw binary format */
|
|
|
61cfe0 |
- fread(next_line, bpl, 1, fin);
|
|
|
61cfe0 |
+ if (fread(next_line, bpl, 1, fin) != 1) {
|
|
|
61cfe0 |
+ /* silence compiler warnings; ferror/feof checked below */
|
|
|
61cfe0 |
+ }
|
|
|
61cfe0 |
break;
|
|
|
61cfe0 |
default:
|
|
|
61cfe0 |
fprintf(stderr, "Unsupported PBM type P%c!\n", type);
|
|
|
61cfe0 |
diff -up jbigkit-2.1/pbmtools/pbmtojbg.c.warnings jbigkit-2.1/pbmtools/pbmtojbg.c
|
|
|
61cfe0 |
--- jbigkit-2.1/pbmtools/pbmtojbg.c.warnings 2008-07-16 22:59:41.000000000 +0200
|
|
|
61cfe0 |
+++ jbigkit-2.1/pbmtools/pbmtojbg.c 2012-07-17 16:23:46.584285686 +0200
|
|
|
61cfe0 |
@@ -88,7 +88,11 @@ static unsigned long getint(FILE *f)
|
|
|
61cfe0 |
while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ;
|
|
|
61cfe0 |
if (c != EOF) {
|
|
|
61cfe0 |
ungetc(c, f);
|
|
|
61cfe0 |
- fscanf(f, "%lu", &i);
|
|
|
61cfe0 |
+ if (fscanf(f, "%lu", &i) != 1) {
|
|
|
61cfe0 |
+ /* should never fail, since c must be a digit */
|
|
|
61cfe0 |
+ fprintf(stderr, "Unexpected failure reading digit '%c'\n", c);
|
|
|
61cfe0 |
+ exit(1);
|
|
|
61cfe0 |
+ }
|
|
|
61cfe0 |
}
|
|
|
61cfe0 |
|
|
|
61cfe0 |
return i;
|
|
|
61cfe0 |
@@ -302,7 +306,9 @@ int main (int argc, char **argv)
|
|
|
61cfe0 |
break;
|
|
|
61cfe0 |
case '4':
|
|
|
61cfe0 |
/* PBM raw binary format */
|
|
|
61cfe0 |
- fread(bitmap[0], bitmap_size, 1, fin);
|
|
|
61cfe0 |
+ if (fread(bitmap[0], bitmap_size, 1, fin) != 1) {
|
|
|
61cfe0 |
+ /* silence compiler warnings; ferror/feof checked below */
|
|
|
61cfe0 |
+ }
|
|
|
61cfe0 |
break;
|
|
|
61cfe0 |
case '2':
|
|
|
61cfe0 |
case '5':
|
|
|
61cfe0 |
@@ -314,8 +320,18 @@ int main (int argc, char **argv)
|
|
|
61cfe0 |
for (j = 0; j < bpp; j++)
|
|
|
61cfe0 |
image[x * bpp + (bpp - 1) - j] = v >> (j * 8);
|
|
|
61cfe0 |
}
|
|
|
61cfe0 |
- } else
|
|
|
61cfe0 |
- fread(image, width * height, bpp, fin);
|
|
|
61cfe0 |
+ } else {
|
|
|
61cfe0 |
+ if (fread(image, width * height, bpp, fin) != (size_t) bpp) {
|
|
|
61cfe0 |
+ if (ferror(fin)) {
|
|
|
61cfe0 |
+ fprintf(stderr, "Problem while reading input file '%s", fnin);
|
|
|
61cfe0 |
+ perror("'");
|
|
|
61cfe0 |
+ exit(1);
|
|
|
61cfe0 |
+ } else {
|
|
|
61cfe0 |
+ fprintf(stderr, "Unexpected end of input file '%s'!\n", fnin);
|
|
|
61cfe0 |
+ exit(1);
|
|
|
61cfe0 |
+ }
|
|
|
61cfe0 |
+ }
|
|
|
61cfe0 |
+ }
|
|
|
61cfe0 |
jbg_split_planes(width, height, planes, encode_planes, image, bitmap,
|
|
|
61cfe0 |
use_graycode);
|
|
|
61cfe0 |
free(image);
|