Merge commit '1f0c6075604c271d5627480f1243d22795f9a315'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 13 Jun 2013 10:57:34 +0000 (12:57 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 13 Jun 2013 11:06:22 +0000 (13:06 +0200)
* commit '1f0c6075604c271d5627480f1243d22795f9a315':
  4xm: drop pointless assert

Conflicts:
libavcodec/4xm.c

The added condition is impossible to occur and thus is added to the assert.
The assert is not removed from the default case, as the default case cannot
occur. Thus either it should stay as is or the case as a whole be removed.
For extra safety, to ensure this doesnt change the assert is changed to
av_assert0()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/4xm.c

@@@ -329,7 -327,7 +329,7 @@@ static inline void mcdc(uint16_t *dst, 
          }
          break;
      default:
-         av_assert2(0);
 -        break;
++        av_assert0(0);
      }
  }
  
@@@ -345,14 -343,11 +345,14 @@@ static int decode_p_block(FourXContext 
      uint16_t *end   = start + stride * (f->avctx->height - h + 1) - (1 << log2w);
      int ret;
  
-     av_assert0(code >= 0 && code <= 6);
 -    if (code < 0 || code > 6 || log2w < 0)
 -        return AVERROR_INVALIDDATA;
++    av_assert0(code >= 0 && code <= 6 && log2w >= 0);
  
      if (code == 0) {
 -        src += f->mv[bytestream2_get_byte(&f->g)];
 +        if (bytestream2_get_bytes_left(&f->g) < 1) {
 +            av_log(f->avctx, AV_LOG_ERROR, "bytestream overread\n");
 +            return AVERROR_INVALIDDATA;
 +        }
 +        src += f->mv[bytestream2_get_byteu(&f->g)];
          if (start > src || src > end) {
              av_log(f->avctx, AV_LOG_ERROR, "mv out of pic\n");
              return AVERROR_INVALIDDATA;