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;
}