[Libva] [PATCH 3/3] check memory alloc to avoid NULL and initialize value in YUV_blend_with_pic

Lim Siew Hoon siew.hoon.lim at intel.com
Mon Jun 27 12:27:25 UTC 2016


Signed-off-by: Lim Siew Hoon <siew.hoon.lim at intel.com>
---
 test/loadsurface.h | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/test/loadsurface.h b/test/loadsurface.h
index a4cdb9d..6113fe0 100755
--- a/test/loadsurface.h
+++ b/test/loadsurface.h
@@ -54,8 +54,6 @@ static int YUV_blend_with_pic(int width, int height,
     
     static int alpha_idx = 0;
     int alpha;
-    int allocated = 0;
-    
     int row, col;
 
     if (fixed_alpha == 0) {
@@ -72,10 +70,26 @@ static int YUV_blend_with_pic(int width, int height,
     
     if (width != 640 || height != 480) { /* need to scale the pic */
         pic_y = (unsigned char *)malloc(width * height);
+        if(pic_y == NULL) {
+           printf("Failed to allocate memory for pic_y\n");
+           return -1;
+        }
+
         pic_u = (unsigned char *)malloc(width * height/4);
+        if(pic_u == NULL) {
+           printf("Failed to allocate memory for pic_u\n");
+           return -1;
+        }
+
         pic_v = (unsigned char *)malloc(width * height/4);
+        if(pic_v == NULL) {
+           printf("Failed to allocate memory for pic_v\n");
+           return -1;
+        }
 
-        allocated = 1;
+        memset(pic_y, 0, width * height);
+        memset(pic_u, 0, width * height /4);
+        memset(pic_v, 0, width * height /4);
         
         scale_2dimage(pic_y_old, 640, 480,
                       pic_y, width, height);
@@ -133,12 +147,12 @@ static int YUV_blend_with_pic(int width, int height,
         }
     }
         
-    
-    if (allocated) {
-        free(pic_y);
+    if(pic_y)
+       free(pic_y);
+    if(pic_u)
         free(pic_u);
+    if(pic_v)
         free(pic_v);
-    }
     
     return 0;
 }
-- 
2.1.0



More information about the Libva mailing list