From fcb464671c099db58f10402d5e18bca86db23e35 Mon Sep 17 00:00:00 2001 From: jackychen Date: Fri, 30 Oct 2015 11:08:23 -0700 Subject: [PATCH] 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 --- vpx_scale/generic/yv12config.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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); -- 2.40.0