jbigkit-2.0-warnings.patch 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. diff -up jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings jbigkit-2.1/pbmtools/pbmtojbg85.c
  2. --- jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings 2008-08-26 00:26:39.000000000 +0200
  3. +++ jbigkit-2.1/pbmtools/pbmtojbg85.c 2012-07-17 16:24:56.741332942 +0200
  4. @@ -72,9 +72,12 @@ static unsigned long getint(FILE *f)
  5. while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ;
  6. if (c != EOF) {
  7. ungetc(c, f);
  8. - fscanf(f, "%lu", &i);
  9. + if (fscanf(f, "%lu", &i) != 1) {
  10. + /* should never fail, since c must be a digit */
  11. + fprintf(stderr, "Unexpected failure reading digit '%c'\n", c);
  12. + exit(1);
  13. + }
  14. }
  15. -
  16. return i;
  17. }
  18. @@ -239,7 +242,9 @@ int main (int argc, char **argv)
  19. break;
  20. case '4':
  21. /* PBM raw binary format */
  22. - fread(next_line, bpl, 1, fin);
  23. + if (fread(next_line, bpl, 1, fin) != 1) {
  24. + /* silence compiler warnings; ferror/feof checked below */
  25. + }
  26. break;
  27. default:
  28. fprintf(stderr, "Unsupported PBM type P%c!\n", type);
  29. diff -up jbigkit-2.1/pbmtools/pbmtojbg.c.warnings jbigkit-2.1/pbmtools/pbmtojbg.c
  30. --- jbigkit-2.1/pbmtools/pbmtojbg.c.warnings 2008-07-16 22:59:41.000000000 +0200
  31. +++ jbigkit-2.1/pbmtools/pbmtojbg.c 2012-07-17 16:23:46.584285686 +0200
  32. @@ -88,7 +88,11 @@ static unsigned long getint(FILE *f)
  33. while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ;
  34. if (c != EOF) {
  35. ungetc(c, f);
  36. - fscanf(f, "%lu", &i);
  37. + if (fscanf(f, "%lu", &i) != 1) {
  38. + /* should never fail, since c must be a digit */
  39. + fprintf(stderr, "Unexpected failure reading digit '%c'\n", c);
  40. + exit(1);
  41. + }
  42. }
  43. return i;
  44. @@ -302,7 +306,9 @@ int main (int argc, char **argv)
  45. break;
  46. case '4':
  47. /* PBM raw binary format */
  48. - fread(bitmap[0], bitmap_size, 1, fin);
  49. + if (fread(bitmap[0], bitmap_size, 1, fin) != 1) {
  50. + /* silence compiler warnings; ferror/feof checked below */
  51. + }
  52. break;
  53. case '2':
  54. case '5':
  55. @@ -314,8 +320,18 @@ int main (int argc, char **argv)
  56. for (j = 0; j < bpp; j++)
  57. image[x * bpp + (bpp - 1) - j] = v >> (j * 8);
  58. }
  59. - } else
  60. - fread(image, width * height, bpp, fin);
  61. + } else {
  62. + if (fread(image, width * height, bpp, fin) != (size_t) bpp) {
  63. + if (ferror(fin)) {
  64. + fprintf(stderr, "Problem while reading input file '%s", fnin);
  65. + perror("'");
  66. + exit(1);
  67. + } else {
  68. + fprintf(stderr, "Unexpected end of input file '%s'!\n", fnin);
  69. + exit(1);
  70. + }
  71. + }
  72. + }
  73. jbg_split_planes(width, height, planes, encode_planes, image, bitmap,
  74. use_graycode);
  75. free(image);