From: jackychen Date: Fri, 30 Oct 2015 18:08:23 +0000 (-0700) Subject: vpx_scale: fix the issue in msan test. X-Git-Tag: v1.6.0~590^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fcb464671c099db58f10402d5e18bca86db23e35;p=libvpx vpx_scale: fix the issue in msan test. Do memset to fix msan issue due to the access of uninitialized memory. BUG=https://code.google.com/p/chromium/issues/detail?id=549155 Change-Id: I02f995ede79e3574e72587cc078df1a0d11af002 --- diff --git a/vpx_scale/generic/yv12config.c b/vpx_scale/generic/yv12config.c index 773921813..e1ee46eb7 100644 --- a/vpx_scale/generic/yv12config.c +++ b/vpx_scale/generic/yv12config.c @@ -203,6 +203,15 @@ int vpx_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, return -1; ybf->buffer_alloc = (uint8_t *)yv12_align_addr(fb->data, 32); + +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) + // This memset is needed for fixing the issue of using uninitialized + // value in msan test. It will cause a perf loss, so only do this for + // msan test. + memset(ybf->buffer_alloc, 0, (int)frame_size); +#endif +#endif } else if (frame_size > (size_t)ybf->buffer_alloc_sz) { // Allocation to hold larger frame, or first allocation. vpx_free(ybf->buffer_alloc);