IOMX.cpp uninitialized pointer in BnOMX::onTransact am: 9d72eb0682 am: bbcb1f0e2f am: 6dcf6ba111 am: 35501e45b2 am: 88b6660083 am: 22d12769b3 am: 7d4d66e605
am: 3c6a1fe754

* commit '3c6a1fe754493b38e1e8bf3bc5497841d091f3af':
  IOMX.cpp uninitialized pointer in BnOMX::onTransact
diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp
index bb36129..07f3697 100644
--- a/media/libmedia/IOMX.cpp
+++ b/media/libmedia/IOMX.cpp
@@ -446,7 +446,7 @@
         remote()->transact(CONFIGURE_VIDEO_TUNNEL_MODE, data, &reply);
 
         status_t err = reply.readInt32();
-        if (sidebandHandle) {
+        if (err == OK && sidebandHandle) {
             *sidebandHandle = (native_handle_t *)reply.readNativeHandle();
         }
         return err;
@@ -961,11 +961,13 @@
             OMX_BOOL tunneled = (OMX_BOOL)data.readInt32();
             OMX_U32 audio_hw_sync = data.readInt32();
 
-            native_handle_t *sideband_handle;
+            native_handle_t *sideband_handle = NULL;
             status_t err = configureVideoTunnelMode(
                     node, port_index, tunneled, audio_hw_sync, &sideband_handle);
             reply->writeInt32(err);
-            reply->writeNativeHandle(sideband_handle);
+            if(err == OK){
+                reply->writeNativeHandle(sideband_handle);
+            }
 
             return NO_ERROR;
         }