<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic UAF in V4l2Dev in Android Automotive in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/UAF-in-V4l2Dev-in-Android-Automotive/m-p/1791927#M218930</link>
    <description>&lt;P&gt;Using NXP Android automotive 12.1 found an UAF in V4l2Dev&lt;BR /&gt;soc: imx8qm&lt;BR /&gt;linux 5.15.52&lt;BR /&gt;NXP's android automotive 12.1&lt;/P&gt;&lt;LI-SPOILER&gt;&lt;LI-CODE lang="cpp"&gt;#0 std::__1::__vector_base&amp;lt;unsigned int, std::__1::allocator&amp;lt;unsigned int&amp;gt; &amp;gt;::~__vector_base() in external/libcxx/include/vector:462:9
    -&amp;gt; std::__1::vector&amp;lt;unsigned int, std::__1::allocator&amp;lt;unsigned int&amp;gt; &amp;gt;::~vector() in external/libcxx/include/vector:556:5
    -&amp;gt; android::V4l2Dev::~V4l2Dev() in vendor/nxp/imx_android_mm/codec2/v4l2_dev/V4l2Dev.h:69:7
    -&amp;gt; android::IsiFilter::onRelease() in vendor/nxp/imx_android_mm/codec2/filter/isi/IsiFilter.cpp:163:9
    #1 android::IsiFilter::~IsiFilter() in vendor/nxp/imx_android_mm/codec2/filter/isi/IsiFilter.cpp:56:5
    #2 android::IsiFilter::~IsiFilter() in vendor/nxp/imx_android_mm/codec2/filter/isi/IsiFilter.cpp:54:24
    #3 std::__1::__function::__value_func&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*&amp;amp;&amp;amp;) const in external/libcxx/include/functional:1799:16
    -&amp;gt; std::__1::function&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*) const in external/libcxx/include/functional:2347:12
    -&amp;gt; android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0::operator()(C2Component*) in vendor/nxp/imx_android_mm/codec2/store/ImxC2Store.cpp:421:17
    -&amp;gt; decltype(std::__1::forward&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;&amp;gt;(fp)(std::__1::forward&amp;lt;C2Component*&amp;gt;(fp0))) std::__1::__invoke&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;gt;(android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;amp;&amp;amp;) in external/libcxx/include/type_traits:4353:1
    -&amp;gt; void std::__1::__invoke_void_return_wrapper&amp;lt;void&amp;gt;::__call&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;gt;(android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;amp;&amp;amp;) in external/libcxx/include/__functional_base:349:9
    -&amp;gt; std::__1::__function::__alloc_func&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0, std::__1::allocator&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;gt;, void (C2Component*)&amp;gt;::operator()(C2Component*&amp;amp;&amp;amp;) in external/libcxx/include/functional:1527:16
    -&amp;gt; std::__1::__function::__func&amp;lt;android::ImxC2Store::ComponentBox::createInterface(unsigned int, std::__1::shared_ptr&amp;lt;C2ComponentInterface&amp;gt;*, std::__1::function&amp;lt;void (C2ComponentInterface*)&amp;gt;)::$_1, std::__1::allocator&amp;lt;android::ImxC2Store::ComponentBox::createInterface(unsigned int, std::__1::shared_ptr&amp;lt;C2ComponentInterface&amp;gt;*, std::__1::function&amp;lt;void (C2ComponentInterface*)&amp;gt;)::$_1&amp;gt;, void (C2ComponentInterface*)&amp;gt;::operator()(C2ComponentInterface*&amp;amp;&amp;amp;) in external/libcxx/include/functional:1651:12
    #4 std::__1::__function::__value_func&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*&amp;amp;&amp;amp;) const in external/libcxx/include/functional:1799:16
    -&amp;gt; std::__1::function&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*) const in external/libcxx/include/functional:2347:12
    -&amp;gt; std::__1::__shared_ptr_pointer&amp;lt;android::IsiFilter*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;, std::__1::allocator&amp;lt;android::IsiFilter&amp;gt; &amp;gt;::__on_zero_shared() in external/libcxx/include/memory:3640:5
    #5 std::__1::__shared_count::__release_shared() in external/libcxx/include/memory:3544:9
    -&amp;gt; std::__1::__shared_weak_count::__release_shared() in external/libcxx/include/memory:3586:27
    -&amp;gt; std::__1::shared_ptr&amp;lt;C2Component&amp;gt;::~shared_ptr() in external/libcxx/include/memory:4522:19
    -&amp;gt; android::FilterWrapper::Component::~Component() in frameworks/av/media/codec2/hidl/plugin/internal/FilterWrapper.h:52:12
    #6 std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt;::destroy(android::FilterWrapper::Component*) in external/libcxx/include/memory:1881:64
    -&amp;gt; void std::__1::allocator_traits&amp;lt;std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::__destroy&amp;lt;android::FilterWrapper::Component&amp;gt;(std::__1::integral_constant&amp;lt;bool, true&amp;gt;, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt;&amp;amp;, android::FilterWrapper::Component*) in external/libcxx/include/memory:1743:18
    -&amp;gt; void std::__1::allocator_traits&amp;lt;std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::destroy&amp;lt;android::FilterWrapper::Component&amp;gt;(std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt;&amp;amp;, android::FilterWrapper::Component*) in external/libcxx/include/memory:1596:14
    -&amp;gt; std::__1::__vector_base&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::__destruct_at_end(android::FilterWrapper::Component*) in external/libcxx/include/vector:427:9
    -&amp;gt; std::__1::__vector_base&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::clear() in external/libcxx/include/vector:370:29
    -&amp;gt; std::__1::__vector_base&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::~__vector_base() in external/libcxx/include/vector:464:9
    -&amp;gt; std::__1::vector&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::~vector() in external/libcxx/include/vector:556:5
    -&amp;gt; android::(anonymous namespace)::WrappedEncoderInterface::~WrappedEncoderInterface() in frameworks/av/media/codec2/hidl/plugin/FilterWrapper.cpp:817:49
    #7 std::__1::__shared_count::__release_shared() in external/libcxx/include/memory:3544:9
    -&amp;gt; std::__1::__shared_weak_count::__release_shared() in external/libcxx/include/memory:3586:27
    -&amp;gt; std::__1::shared_ptr&amp;lt;C2ComponentInterface&amp;gt;::~shared_ptr() in external/libcxx/include/memory:4522:19
    -&amp;gt; android::hardware::media::c2::V1_0::utils::(anonymous namespace)::CompIntf::~CompIntf() in frameworks/av/media/codec2/hidl/1.0/utils/ComponentInterface.cpp:47:8
    -&amp;gt; android::hardware::media::c2::V1_0::utils::(anonymous namespace)::CompIntf::~CompIntf() in frameworks/av/media/codec2/hidl/1.0/utils/ComponentInterface.cpp:47:8
    #8 std::__1::default_delete&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf&amp;gt;::operator()(android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf*) const in external/libcxx/include/memory:2339:5
    -&amp;gt; std::__1::unique_ptr&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf, std::__1::default_delete&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf&amp;gt; &amp;gt;::reset(android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf*) in external/libcxx/include/memory:2652:7
    -&amp;gt; std::__1::unique_ptr&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf, std::__1::default_delete&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf&amp;gt; &amp;gt;::~unique_ptr() in external/libcxx/include/memory:2606:19
    -&amp;gt; android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:105:8
    -&amp;gt; android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:105:8
    -&amp;gt; android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:105:8
    -&amp;gt; virtual thunk to android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:0:0
    #9 android::RefBase::decStrong(void const*) const in system/core/libutils/RefBase.cpp:475:13
    #10 android::sp&amp;lt;android::hidl::base::V1_0::IBase&amp;gt;::~sp() in system/core/libutils/include/utils/StrongPointer.h:305:16
    -&amp;gt;  android::hidl::base::V1_0::BnHwBase::~BnHwBase() in out/soong/.intermediates/system/libhidl/transport/base/1.0/android.hidl.base@1.0_genc++/gen/android/hidl/base/1.0/BaseAll.cpp:750:1
    #11 android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:839:1
    #12 android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:837:39
    -&amp;gt;  android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:837:39
    -&amp;gt;  virtual thunk to android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:0:0
    #13 android::RefBase::decStrong(void const*) const in system/core/libutils/RefBase.cpp:475:13
    #14 android::hardware::IPCThreadState::processPendingDerefs() in system/libhwbinder/IPCThreadState.cpp:510:22
    -&amp;gt;  android::hardware::IPCThreadState::joinThreadPool(bool) in system/libhwbinder/IPCThreadState.cpp:546:9
    #15 android::hardware::PoolThread::threadLoop() in system/libhwbinder/ProcessState.cpp:61:33
    #16 android::Thread::_threadLoop(void*) in system/core/libutils/Threads.cpp:759:32
    #17 thread_data_t::trampoline(thread_data_t const*) in system/core/libutils/Threads.cpp:99:16
    #18 __pthread_start(void*) in bionic/libc/bionic/pthread_create.cpp:364:18
    #19 __start_thread in bionic/libc/bionic/clone.cpp:53:16&lt;/LI-CODE&gt;&lt;/LI-SPOILER&gt;&lt;P&gt;&amp;nbsp;Fix:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="cpp"&gt;diff --git a/codec2/filter/isi/IsiFilter.cpp b/codec2/filter/isi/IsiFilter.cpp
index 909afab..a99a933 100644
--- a/codec2/filter/isi/IsiFilter.cpp
+++ b/codec2/filter/isi/IsiFilter.cpp
@@ -47,7 +47,9 @@ static const uint32_t destination_format_table[]={
 
 IsiFilter::IsiFilter(c2_node_id_t id, C2String name, const std::shared_ptr&amp;lt;C2ReflectorHelper&amp;gt;&amp;amp; helper, const std::shared_ptr&amp;lt;IsiFilterInterface&amp;gt; &amp;amp;intfImpl)
     : IMXC2ComponentBase(std::make_shared&amp;lt;IMXInterface&amp;lt;IsiFilterInterface&amp;gt;&amp;gt;(name, id, intfImpl)),
-    mIntfImpl(intfImpl)
+    mIntfImpl(intfImpl),
+    mFd(-1),
+    mDev(nullptr)
 {
     (void)helper;
 }
diff --git a/codec2/filter/isi/IsiFilter.h b/codec2/filter/isi/IsiFilter.h
index 4f72357..ea2edcc 100644
--- a/codec2/filter/isi/IsiFilter.h
+++ b/codec2/filter/isi/IsiFilter.h
@@ -21,6 +21,8 @@ namespace android {
 class IsiFilter : public IMXC2ComponentBase{
 public:
     explicit IsiFilter(c2_node_id_t id, C2String name, const std::shared_ptr&amp;lt;C2ReflectorHelper&amp;gt;&amp;amp; helper, const std::shared_ptr&amp;lt;IsiFilterInterface&amp;gt; &amp;amp;intfImpl);
+    IsiFilter(const IsiFilter&amp;amp;) = delete;
+    IsiFilter&amp;amp; operator=(const IsiFilter&amp;amp;) = delete;
 
     virtual ~IsiFilter();&lt;/LI-CODE&gt;</description>
    <pubDate>Mon, 22 Jan 2024 12:41:22 GMT</pubDate>
    <dc:creator>dmitry_sidorenkov</dc:creator>
    <dc:date>2024-01-22T12:41:22Z</dc:date>
    <item>
      <title>UAF in V4l2Dev in Android Automotive</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/UAF-in-V4l2Dev-in-Android-Automotive/m-p/1791927#M218930</link>
      <description>&lt;P&gt;Using NXP Android automotive 12.1 found an UAF in V4l2Dev&lt;BR /&gt;soc: imx8qm&lt;BR /&gt;linux 5.15.52&lt;BR /&gt;NXP's android automotive 12.1&lt;/P&gt;&lt;LI-SPOILER&gt;&lt;LI-CODE lang="cpp"&gt;#0 std::__1::__vector_base&amp;lt;unsigned int, std::__1::allocator&amp;lt;unsigned int&amp;gt; &amp;gt;::~__vector_base() in external/libcxx/include/vector:462:9
    -&amp;gt; std::__1::vector&amp;lt;unsigned int, std::__1::allocator&amp;lt;unsigned int&amp;gt; &amp;gt;::~vector() in external/libcxx/include/vector:556:5
    -&amp;gt; android::V4l2Dev::~V4l2Dev() in vendor/nxp/imx_android_mm/codec2/v4l2_dev/V4l2Dev.h:69:7
    -&amp;gt; android::IsiFilter::onRelease() in vendor/nxp/imx_android_mm/codec2/filter/isi/IsiFilter.cpp:163:9
    #1 android::IsiFilter::~IsiFilter() in vendor/nxp/imx_android_mm/codec2/filter/isi/IsiFilter.cpp:56:5
    #2 android::IsiFilter::~IsiFilter() in vendor/nxp/imx_android_mm/codec2/filter/isi/IsiFilter.cpp:54:24
    #3 std::__1::__function::__value_func&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*&amp;amp;&amp;amp;) const in external/libcxx/include/functional:1799:16
    -&amp;gt; std::__1::function&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*) const in external/libcxx/include/functional:2347:12
    -&amp;gt; android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0::operator()(C2Component*) in vendor/nxp/imx_android_mm/codec2/store/ImxC2Store.cpp:421:17
    -&amp;gt; decltype(std::__1::forward&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;&amp;gt;(fp)(std::__1::forward&amp;lt;C2Component*&amp;gt;(fp0))) std::__1::__invoke&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;gt;(android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;amp;&amp;amp;) in external/libcxx/include/type_traits:4353:1
    -&amp;gt; void std::__1::__invoke_void_return_wrapper&amp;lt;void&amp;gt;::__call&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;gt;(android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;amp;, C2Component*&amp;amp;&amp;amp;) in external/libcxx/include/__functional_base:349:9
    -&amp;gt; std::__1::__function::__alloc_func&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0, std::__1::allocator&amp;lt;android::ImxC2Store::ComponentBox::createComponent(unsigned int, std::__1::shared_ptr&amp;lt;C2Component&amp;gt;*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;)::$_0&amp;gt;, void (C2Component*)&amp;gt;::operator()(C2Component*&amp;amp;&amp;amp;) in external/libcxx/include/functional:1527:16
    -&amp;gt; std::__1::__function::__func&amp;lt;android::ImxC2Store::ComponentBox::createInterface(unsigned int, std::__1::shared_ptr&amp;lt;C2ComponentInterface&amp;gt;*, std::__1::function&amp;lt;void (C2ComponentInterface*)&amp;gt;)::$_1, std::__1::allocator&amp;lt;android::ImxC2Store::ComponentBox::createInterface(unsigned int, std::__1::shared_ptr&amp;lt;C2ComponentInterface&amp;gt;*, std::__1::function&amp;lt;void (C2ComponentInterface*)&amp;gt;)::$_1&amp;gt;, void (C2ComponentInterface*)&amp;gt;::operator()(C2ComponentInterface*&amp;amp;&amp;amp;) in external/libcxx/include/functional:1651:12
    #4 std::__1::__function::__value_func&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*&amp;amp;&amp;amp;) const in external/libcxx/include/functional:1799:16
    -&amp;gt; std::__1::function&amp;lt;void (C2Component*)&amp;gt;::operator()(C2Component*) const in external/libcxx/include/functional:2347:12
    -&amp;gt; std::__1::__shared_ptr_pointer&amp;lt;android::IsiFilter*, std::__1::function&amp;lt;void (C2Component*)&amp;gt;, std::__1::allocator&amp;lt;android::IsiFilter&amp;gt; &amp;gt;::__on_zero_shared() in external/libcxx/include/memory:3640:5
    #5 std::__1::__shared_count::__release_shared() in external/libcxx/include/memory:3544:9
    -&amp;gt; std::__1::__shared_weak_count::__release_shared() in external/libcxx/include/memory:3586:27
    -&amp;gt; std::__1::shared_ptr&amp;lt;C2Component&amp;gt;::~shared_ptr() in external/libcxx/include/memory:4522:19
    -&amp;gt; android::FilterWrapper::Component::~Component() in frameworks/av/media/codec2/hidl/plugin/internal/FilterWrapper.h:52:12
    #6 std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt;::destroy(android::FilterWrapper::Component*) in external/libcxx/include/memory:1881:64
    -&amp;gt; void std::__1::allocator_traits&amp;lt;std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::__destroy&amp;lt;android::FilterWrapper::Component&amp;gt;(std::__1::integral_constant&amp;lt;bool, true&amp;gt;, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt;&amp;amp;, android::FilterWrapper::Component*) in external/libcxx/include/memory:1743:18
    -&amp;gt; void std::__1::allocator_traits&amp;lt;std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::destroy&amp;lt;android::FilterWrapper::Component&amp;gt;(std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt;&amp;amp;, android::FilterWrapper::Component*) in external/libcxx/include/memory:1596:14
    -&amp;gt; std::__1::__vector_base&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::__destruct_at_end(android::FilterWrapper::Component*) in external/libcxx/include/vector:427:9
    -&amp;gt; std::__1::__vector_base&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::clear() in external/libcxx/include/vector:370:29
    -&amp;gt; std::__1::__vector_base&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::~__vector_base() in external/libcxx/include/vector:464:9
    -&amp;gt; std::__1::vector&amp;lt;android::FilterWrapper::Component, std::__1::allocator&amp;lt;android::FilterWrapper::Component&amp;gt; &amp;gt;::~vector() in external/libcxx/include/vector:556:5
    -&amp;gt; android::(anonymous namespace)::WrappedEncoderInterface::~WrappedEncoderInterface() in frameworks/av/media/codec2/hidl/plugin/FilterWrapper.cpp:817:49
    #7 std::__1::__shared_count::__release_shared() in external/libcxx/include/memory:3544:9
    -&amp;gt; std::__1::__shared_weak_count::__release_shared() in external/libcxx/include/memory:3586:27
    -&amp;gt; std::__1::shared_ptr&amp;lt;C2ComponentInterface&amp;gt;::~shared_ptr() in external/libcxx/include/memory:4522:19
    -&amp;gt; android::hardware::media::c2::V1_0::utils::(anonymous namespace)::CompIntf::~CompIntf() in frameworks/av/media/codec2/hidl/1.0/utils/ComponentInterface.cpp:47:8
    -&amp;gt; android::hardware::media::c2::V1_0::utils::(anonymous namespace)::CompIntf::~CompIntf() in frameworks/av/media/codec2/hidl/1.0/utils/ComponentInterface.cpp:47:8
    #8 std::__1::default_delete&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf&amp;gt;::operator()(android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf*) const in external/libcxx/include/memory:2339:5
    -&amp;gt; std::__1::unique_ptr&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf, std::__1::default_delete&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf&amp;gt; &amp;gt;::reset(android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf*) in external/libcxx/include/memory:2652:7
    -&amp;gt; std::__1::unique_ptr&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf, std::__1::default_delete&amp;lt;android::hardware::media::c2::V1_0::utils::ConfigurableC2Intf&amp;gt; &amp;gt;::~unique_ptr() in external/libcxx/include/memory:2606:19
    -&amp;gt; android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:105:8
    -&amp;gt; android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:105:8
    -&amp;gt; android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:105:8
    -&amp;gt; virtual thunk to android::hardware::media::c2::V1_0::utils::CachedConfigurable::~CachedConfigurable() in frameworks/av/media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Configurable.h:0:0
    #9 android::RefBase::decStrong(void const*) const in system/core/libutils/RefBase.cpp:475:13
    #10 android::sp&amp;lt;android::hidl::base::V1_0::IBase&amp;gt;::~sp() in system/core/libutils/include/utils/StrongPointer.h:305:16
    -&amp;gt;  android::hidl::base::V1_0::BnHwBase::~BnHwBase() in out/soong/.intermediates/system/libhidl/transport/base/1.0/android.hidl.base@1.0_genc++/gen/android/hidl/base/1.0/BaseAll.cpp:750:1
    #11 android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:839:1
    #12 android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:837:39
    -&amp;gt;  android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:837:39
    -&amp;gt;  virtual thunk to android::hardware::media::c2::V1_0::BnHwConfigurable::~BnHwConfigurable() in out/soong/.intermediates/hardware/interfaces/media/c2/1.0/android.hardware.media.c2@1.0_genc++/gen/android/hardware/media/c2/1.0/ConfigurableAll.cpp:0:0
    #13 android::RefBase::decStrong(void const*) const in system/core/libutils/RefBase.cpp:475:13
    #14 android::hardware::IPCThreadState::processPendingDerefs() in system/libhwbinder/IPCThreadState.cpp:510:22
    -&amp;gt;  android::hardware::IPCThreadState::joinThreadPool(bool) in system/libhwbinder/IPCThreadState.cpp:546:9
    #15 android::hardware::PoolThread::threadLoop() in system/libhwbinder/ProcessState.cpp:61:33
    #16 android::Thread::_threadLoop(void*) in system/core/libutils/Threads.cpp:759:32
    #17 thread_data_t::trampoline(thread_data_t const*) in system/core/libutils/Threads.cpp:99:16
    #18 __pthread_start(void*) in bionic/libc/bionic/pthread_create.cpp:364:18
    #19 __start_thread in bionic/libc/bionic/clone.cpp:53:16&lt;/LI-CODE&gt;&lt;/LI-SPOILER&gt;&lt;P&gt;&amp;nbsp;Fix:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="cpp"&gt;diff --git a/codec2/filter/isi/IsiFilter.cpp b/codec2/filter/isi/IsiFilter.cpp
index 909afab..a99a933 100644
--- a/codec2/filter/isi/IsiFilter.cpp
+++ b/codec2/filter/isi/IsiFilter.cpp
@@ -47,7 +47,9 @@ static const uint32_t destination_format_table[]={
 
 IsiFilter::IsiFilter(c2_node_id_t id, C2String name, const std::shared_ptr&amp;lt;C2ReflectorHelper&amp;gt;&amp;amp; helper, const std::shared_ptr&amp;lt;IsiFilterInterface&amp;gt; &amp;amp;intfImpl)
     : IMXC2ComponentBase(std::make_shared&amp;lt;IMXInterface&amp;lt;IsiFilterInterface&amp;gt;&amp;gt;(name, id, intfImpl)),
-    mIntfImpl(intfImpl)
+    mIntfImpl(intfImpl),
+    mFd(-1),
+    mDev(nullptr)
 {
     (void)helper;
 }
diff --git a/codec2/filter/isi/IsiFilter.h b/codec2/filter/isi/IsiFilter.h
index 4f72357..ea2edcc 100644
--- a/codec2/filter/isi/IsiFilter.h
+++ b/codec2/filter/isi/IsiFilter.h
@@ -21,6 +21,8 @@ namespace android {
 class IsiFilter : public IMXC2ComponentBase{
 public:
     explicit IsiFilter(c2_node_id_t id, C2String name, const std::shared_ptr&amp;lt;C2ReflectorHelper&amp;gt;&amp;amp; helper, const std::shared_ptr&amp;lt;IsiFilterInterface&amp;gt; &amp;amp;intfImpl);
+    IsiFilter(const IsiFilter&amp;amp;) = delete;
+    IsiFilter&amp;amp; operator=(const IsiFilter&amp;amp;) = delete;
 
     virtual ~IsiFilter();&lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 22 Jan 2024 12:41:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/UAF-in-V4l2Dev-in-Android-Automotive/m-p/1791927#M218930</guid>
      <dc:creator>dmitry_sidorenkov</dc:creator>
      <dc:date>2024-01-22T12:41:22Z</dc:date>
    </item>
  </channel>
</rss>

