Ticket #913: rows.diff

File rows.diff, 710 bytes (added by ami_stuff, 4 years ago)
  • libavcodec/tiff.c

    a b static int tiff_decode_tag(TiffContext *s) 
    733733        } 
    734734        break; 
    735735    case TIFF_ROWSPERSTRIP: 
    736         if (type == TIFF_LONG && value == UINT_MAX) 
     736        if (type == TIFF_LONG && value == UINT_MAX && s->avctx->height > 0) { 
    737737            value = s->avctx->height; 
    738         if (value < 1) { 
    739             av_log(s->avctx, AV_LOG_ERROR, 
     738        } else if (type == TIFF_LONG && value == UINT_MAX && s->avctx->height < 1) { 
     739            av_log(s->avctx, AV_LOG_WARNING, 
    740740                   "Incorrect value of rows per strip\n"); 
    741             return -1; 
     741            value = s->height; 
    742742        } 
    743743        s->rps = value; 
    744744        break;