diff --git a/msm8909/libgralloc/gralloc_priv.h b/msm8909/libgralloc/gralloc_priv.h
index 2d19517..6295fb0 100644
--- a/msm8909/libgralloc/gralloc_priv.h
+++ b/msm8909/libgralloc/gralloc_priv.h
@@ -248,7 +248,9 @@
             numFds = sNumFds;
         }
         ~private_handle_t() {
+            base_metadata = 0;
             magic = 0;
+            fd_metadata = 0;
         }
 
         bool usesPhysicallyContiguousMemory() {
diff --git a/msm8909/libgralloc/mapper.cpp b/msm8909/libgralloc/mapper.cpp
index ba8f5be..99d309c 100644
--- a/msm8909/libgralloc/mapper.cpp
+++ b/msm8909/libgralloc/mapper.cpp
@@ -365,6 +365,7 @@
                 private_handle_t* hnd =  va_arg(args, private_handle_t*);
                 int *stride = va_arg(args, int *);
                 if (private_handle_t::validate(hnd)) {
+                    va_end(args);
                     return res;
                 }
                 MetaData_t *metadata = (MetaData_t *)hnd->base_metadata;
@@ -382,6 +383,7 @@
                 int *stride = va_arg(args, int *);
                 int *height = va_arg(args, int *);
                 if (private_handle_t::validate(hnd)) {
+                    va_end(args);
                     return res;
                 }
                 MetaData_t *metadata = (MetaData_t *)hnd->base_metadata;
@@ -416,6 +418,7 @@
                 private_handle_t* hnd =  va_arg(args, private_handle_t*);
                 int *color_space = va_arg(args, int *);
                 if (private_handle_t::validate(hnd)) {
+                    va_end(args);
                     return res;
                 }
                 MetaData_t *metadata = (MetaData_t *)hnd->base_metadata;
