On Sat, Jan 31, 2015 at 8:41 PM, Vittorio Giovara
<[email protected]> wrote:
> ---
> Since av_freep has become a (quasi) first class citizen, this small set
> takes care of replacing every occurence in sws, lavd, lavr and lavfi.
>
> They have been obtained by a sed automation and several rounds of human
> and coverity reviews. Oracle didn't report any particular problem.
>
> Cheers,
>     Vittorio
>
>  libswscale/swscale-test.c |  8 ++++----
>  libswscale/utils.c        | 34 +++++++++++++++++-----------------
>  libswscale/yuv2rgb.c      |  2 +-
>  3 files changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/libswscale/swscale-test.c b/libswscale/swscale-test.c
> index 8063519..f87a381 100644
> --- a/libswscale/swscale-test.c
> +++ b/libswscale/swscale-test.c
> @@ -219,7 +219,7 @@ static int doTest(uint8_t *ref[4], int refStride[4], int 
> w, int h,
>
>          for (i = 0; i < 4; i++)
>              if (refStride[i])
> -                av_free(out[i]);
> +                av_freep(&out[i]);
>      }
>
>      printf(" CRC=%08x SSD=%5"PRId64 ",%5"PRId64 ",%5"PRId64 ",%5"PRId64 "\n",
> @@ -230,7 +230,7 @@ end:
>
>      for (i = 0; i < 4; i++)
>          if (dstStride[i])
> -            av_free(dst[i]);
> +            av_freep(&dst[i]);
>
>      return res;
>  }
> @@ -368,7 +368,7 @@ int main(int argc, char **argv)
>              rgb_data[ x + y * 4 * W] = av_lfg_get(&rand);
>      sws_scale(sws, rgb_src, rgb_stride, 0, H, src, stride);
>      sws_freeContext(sws);
> -    av_free(rgb_data);
> +    av_freep(&rgb_data);
>
>      for (i = 1; i < argc; i += 2) {
>          if (argv[i][0] != '-' || i + 1 == argc)
> @@ -405,7 +405,7 @@ bad_option:
>  end:
>      res = 0;
>  error:
> -    av_free(data);
> +    av_freep(&data);
>
>      return res;
>  }
> diff --git a/libswscale/utils.c b/libswscale/utils.c
> index b3df1af..6ea23a0 100644
> --- a/libswscale/utils.c
> +++ b/libswscale/utils.c
> @@ -431,7 +431,7 @@ static av_cold int initFilter(int16_t **outFilter, 
> int32_t **filterPos,
>      }
>
>      /* apply src & dst Filter to filter -> filter2
> -     * av_free(filter);
> +     * av_freep(&filter);
>       */
>      assert(filterSize > 0);
>      filter2Size = filterSize;
> @@ -614,8 +614,8 @@ static av_cold int initFilter(int16_t **outFilter, 
> int32_t **filterPos,
>      ret = 0;
>
>  fail:
> -    av_free(filter);
> -    av_free(filter2);
> +    av_freep(&filter);
> +    av_freep(&filter2);
>      return ret;
>  }
>
> @@ -1568,37 +1568,37 @@ static SwsVector *sws_getShiftedVec(SwsVector *a, int 
> shift)
>  void sws_shiftVec(SwsVector *a, int shift)
>  {
>      SwsVector *shifted = sws_getShiftedVec(a, shift);
> -    av_free(a->coeff);
> +    av_freep(&a->coeff);
>      a->coeff  = shifted->coeff;
>      a->length = shifted->length;
> -    av_free(shifted);
> +    av_freep(&shifted);
>  }
>
>  void sws_addVec(SwsVector *a, SwsVector *b)
>  {
>      SwsVector *sum = sws_sumVec(a, b);
> -    av_free(a->coeff);
> +    av_freep(&a->coeff);
>      a->coeff  = sum->coeff;
>      a->length = sum->length;
> -    av_free(sum);
> +    av_freep(&sum);
>  }
>
>  void sws_subVec(SwsVector *a, SwsVector *b)
>  {
>      SwsVector *diff = sws_diffVec(a, b);
> -    av_free(a->coeff);
> +    av_freep(&a->coeff);
>      a->coeff  = diff->coeff;
>      a->length = diff->length;
> -    av_free(diff);
> +    av_freep(&diff);
>  }
>
>  void sws_convVec(SwsVector *a, SwsVector *b)
>  {
>      SwsVector *conv = sws_getConvVec(a, b);
> -    av_free(a->coeff);
> +    av_freep(&a->coeff);
>      a->coeff  = conv->coeff;
>      a->length = conv->length;
> -    av_free(conv);
> +    av_freep(&conv);
>  }
>
>  SwsVector *sws_cloneVec(SwsVector *a)
> @@ -1647,7 +1647,7 @@ void sws_freeVec(SwsVector *a)
>          return;
>      av_freep(&a->coeff);
>      a->length = 0;
> -    av_free(a);
> +    av_freep(&a);
>  }
>
>  void sws_freeFilter(SwsFilter *filter)
> @@ -1663,7 +1663,7 @@ void sws_freeFilter(SwsFilter *filter)
>          sws_freeVec(filter->chrH);
>      if (filter->chrV)
>          sws_freeVec(filter->chrV);
> -    av_free(filter);
> +    av_freep(&filter);
>  }
>
>  void sws_freeContext(SwsContext *c)
> @@ -1717,17 +1717,17 @@ void sws_freeContext(SwsContext *c)
>      if (c->chrMmxextFilterCode)
>          VirtualFree(c->chrMmxextFilterCode, 0, MEM_RELEASE);
>  #else
> -    av_free(c->lumMmxextFilterCode);
> -    av_free(c->chrMmxextFilterCode);
> +    av_freep(&c->lumMmxextFilterCode);
> +    av_freep(&c->chrMmxextFilterCode);
>  #endif
>      c->lumMmxextFilterCode = NULL;
>      c->chrMmxextFilterCode = NULL;
>  #endif /* HAVE_MMX_INLINE */
>
>      av_freep(&c->yuvTable);
> -    av_free(c->formatConvBuffer);
> +    av_freep(&c->formatConvBuffer);
>
> -    av_free(c);
> +    av_freep(&c);
>  }
>
>  struct SwsContext *sws_getCachedContext(struct SwsContext *context, int srcW,
> diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c
> index a4f7a11..aaf5833 100644
> --- a/libswscale/yuv2rgb.c
> +++ b/libswscale/yuv2rgb.c
> @@ -734,7 +734,7 @@ av_cold int ff_yuv2rgb_c_init_tables(SwsContext *c, const 
> int inv_table[4],
>      cgu = ((cgu << 16) + 0x8000) / cy;
>      cgv = ((cgv << 16) + 0x8000) / cy;
>
> -    av_free(c->yuvTable);
> +    av_freep(&c->yuvTable);
>
>  #define ALLOC_YUV_TABLE(x)          \
>          c->yuvTable = av_malloc(x); \
> --
> 1.9.3 (Apple Git-50)
>

Ping on the set.
Is it actually something worth doing? Please don't be shy.
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to