From 304a6d4d5dbf95b7f4d71f72e17d724b6572bcce Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Wed, 15 Jun 2022 07:37:46 -0400 Subject: Prefer lazy menu deletion to minimize chance of UAF when using context menu/actions. --- ui/menus.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/menus.h b/ui/menus.h index 20464d62..ee2e8780 100644 --- a/ui/menus.h +++ b/ui/menus.h @@ -1,6 +1,5 @@ #pragma once -#include #include #include #include @@ -17,8 +16,9 @@ class BINARYNINJAUIAPI ContextMenuManager : public QObject Q_OBJECT QWidget* m_parent; - QPointer m_menu; + QMenu* m_menu; MenuInstance* m_instance; + bool m_isActive = false; public: ContextMenuManager() : m_parent(nullptr), m_menu(nullptr), m_instance(nullptr) {} @@ -29,7 +29,7 @@ class BINARYNINJAUIAPI ContextMenuManager : public QObject MenuInstance* show(QPoint pos, View* view); MenuInstance* show(Menu* source, UIActionHandler* handler); MenuInstance* show(QPoint pos, Menu* source, UIActionHandler* handler); - bool isActive() { return !m_menu.isNull(); } + bool isActive() { return m_isActive; } Q_SIGNALS: void onOpen(); -- cgit v1.3.1