[trunk] Add debug info to track issue 80
[openjpeg.git] / src / lib / openjp2 / t2.c
index c7e29952f05be6381ba2637971d49922776c4c87..dd5f9cc34627224921bbca927e512da28f492c85 100644 (file)
@@ -441,7 +441,7 @@ OPJ_BOOL opj_t2_decode_packets( opj_t2_t *p_t2,
 
         /* don't forget to release pi */
         opj_pi_destroy(l_pi,l_nb_pocs);
-        assert( l_current_data - p_src < (ptrdiff_t)UINT32_MAX );
+        assert( (OPJ_INT64)(l_current_data - p_src) < (OPJ_INT64)UINT32_MAX );
         *p_data_read = (OPJ_UINT32)(l_current_data - p_src);
         return OPJ_TRUE;
 }
@@ -896,7 +896,7 @@ OPJ_BOOL opj_t2_read_packet_header( opj_t2_t* p_t2,
                         if (p_max_length < 2) {
                                 fprintf(stderr, "Not enough space for expected EPH marker\n");
                         } else if ((*l_header_data) != 0xff || (*(l_header_data + 1) != 0x92)) {
-                                printf("Error : expected EPH marker\n");
+                                fprintf(stderr, "Error : expected EPH marker\n");
                         } else {
                                 l_header_data += 2;
                         }
@@ -1224,6 +1224,8 @@ OPJ_BOOL opj_t2_skip_packet_data(   opj_t2_t* p_t2,
 
                         do {
                                 if (* p_data_read + l_seg->newlen > p_max_length) {
+                                        fprintf(stderr, "segment too long (%d) with max (%d) for codeblock %d (p=%d, b=%d, r=%d, c=%d)\n",
+                                                l_seg->newlen, p_max_length, cblkno, p_pi->precno, bandno, p_pi->resno, p_pi->compno);
                                         return OPJ_FALSE;
                                 }