diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index e37cddd..8dcc219 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -898,7 +898,7 @@
     meta_width = ALIGN(((width + block_width - 1) / block_width), 64);
 
     // Align meta buffer size to 4K
-    size = ((meta_width * meta_height), 4096);
+    size = ALIGN((meta_width * meta_height), 4096);
     return size;
 }
 
@@ -929,7 +929,7 @@
     return size;
 }
 
-int getRgbDataAddress(private_handle_t* hnd, void* rgb_data)
+int getRgbDataAddress(private_handle_t* hnd, void** rgb_data)
 {
     int err = 0;
 
@@ -940,7 +940,7 @@
 
     // linear buffer
     if (!(hnd->flags & private_handle_t::PRIV_FLAGS_UBWC_ALIGNED)) {
-        rgb_data = (void*)hnd->base;
+        *rgb_data = (void*)hnd->base;
         return err;
     }
 
@@ -960,6 +960,6 @@
             break;
     }
 
-    rgb_data = (void*)(hnd->base + meta_size);
+    *rgb_data = (void*)(hnd->base + meta_size);
     return err;
 }
diff --git a/libgralloc/gr.h b/libgralloc/gr.h
index 98b4eec..e27203a 100644
--- a/libgralloc/gr.h
+++ b/libgralloc/gr.h
@@ -71,7 +71,7 @@
 int alloc_buffer(private_handle_t **pHnd, int w, int h, int format, int usage);
 void free_buffer(private_handle_t *hnd);
 int getYUVPlaneInfo(private_handle_t* pHnd, struct android_ycbcr* ycbcr);
-int getRgbDataAddress(private_handle_t* pHnd, void* rgb_data);
+int getRgbDataAddress(private_handle_t* pHnd, void** rgb_data);
 
 // To query if UBWC is enabled, based on format and usage flags
 bool isUBwcEnabled(int format, int usage);
diff --git a/libgralloc/mapper.cpp b/libgralloc/mapper.cpp
index 7d4e8ce..30f606e 100644
--- a/libgralloc/mapper.cpp
+++ b/libgralloc/mapper.cpp
@@ -445,7 +445,7 @@
         case GRALLOC_MODULE_PERFORM_GET_RGB_DATA_ADDRESS:
             {
                 private_handle_t* hnd = va_arg(args, private_handle_t*);
-                void* rgb_data = va_arg(args, void*);
+                void** rgb_data = va_arg(args, void**);
                 if (!private_handle_t::validate(hnd)) {
                     res = getRgbDataAddress(hnd, rgb_data);
                 }
