Merge commit '1dd797e3c9f179f957316a0becbec048b42df8aa'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 6 Jan 2015 20:44:08 +0000 (21:44 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 6 Jan 2015 20:44:50 +0000 (21:44 +0100)
* commit '1dd797e3c9f179f957316a0becbec048b42df8aa':
  swscale: check memory allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libswscale/yuv2rgb.c

@@@ -820,16 -729,20 +820,20 @@@ av_cold int ff_yuv2rgb_c_init_tables(Sw
      c->yuv2rgb_u2b_coeff = (int16_t)roundToInt16(cbu << 13);
  
      //scale coefficients by cy
 -    crv = ((crv << 16) + 0x8000) / cy;
 -    cbu = ((cbu << 16) + 0x8000) / cy;
 -    cgu = ((cgu << 16) + 0x8000) / cy;
 -    cgv = ((cgv << 16) + 0x8000) / cy;
 +    crv = ((crv << 16) + 0x8000) / FFMAX(cy, 1);
 +    cbu = ((cbu << 16) + 0x8000) / FFMAX(cy, 1);
 +    cgu = ((cgu << 16) + 0x8000) / FFMAX(cy, 1);
 +    cgv = ((cgv << 16) + 0x8000) / FFMAX(cy, 1);
  
 -    av_free(c->yuvTable);
 +    av_freep(&c->yuvTable);
  
+ #define ALLOC_YUV_TABLE(x)          \
+         c->yuvTable = av_malloc(x); \
+         if (!c->yuvTable)           \
+             return AVERROR(ENOMEM);
      switch (bpp) {
      case 1:
-         c->yuvTable = av_malloc(1024);
+         ALLOC_YUV_TABLE(1024);
          y_table     = c->yuvTable;
          yb = -(384 << 16) - oy;
          for (i = 0; i < 1024 - 110; i++) {