openjpeg-1.3-tcd_init_encode-alloc-fix.patch 882 B

123456789101112131415
  1. diff -urN -x '*.orig' -x '*.rej' -x '*~' -x '.*' OpenJPEG.orig/libopenjpeg/tcd.c OpenJPEG.patched/libopenjpeg/tcd.c
  2. --- OpenJPEG.orig/libopenjpeg/tcd.c 2007-12-19 06:28:40.000000000 -0600
  3. +++ OpenJPEG.patched/libopenjpeg/tcd.c 2007-12-27 21:58:57.000000000 -0600
  4. @@ -584,7 +584,9 @@
  5. cblk->y0 = int_max(cblkystart, prc->y0);
  6. cblk->x1 = int_min(cblkxend, prc->x1);
  7. cblk->y1 = int_min(cblkyend, prc->y1);
  8. - cblk->data = (unsigned char*) opj_calloc(8192, sizeof(unsigned char));
  9. + cblk->data = (unsigned char*) opj_calloc(8192+2, sizeof(unsigned char));
  10. + /* FIXME: mqc_init_enc and mqc_byteout underrun the buffer if we don't do this. Why? */
  11. + cblk->data += 2;
  12. cblk->layers = (opj_tcd_layer_t*) opj_calloc(100, sizeof(opj_tcd_layer_t));
  13. cblk->passes = (opj_tcd_pass_t*) opj_calloc(100, sizeof(opj_tcd_pass_t));
  14. }