From 5a3350950b6dedaf3b4b57e9c097dfdd3e731cac Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Fri, 15 Jun 2018 11:43:52 -0700 Subject: [PATCH] check pointer validity before dereference --- libraries/gpu/src/gpu/Sysmem.cpp | 8 ++++---- libraries/ui/src/ui/Menu.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/libraries/gpu/src/gpu/Sysmem.cpp b/libraries/gpu/src/gpu/Sysmem.cpp index a642d40478..a2f3b60c36 100644 --- a/libraries/gpu/src/gpu/Sysmem.cpp +++ b/libraries/gpu/src/gpu/Sysmem.cpp @@ -63,13 +63,13 @@ Sysmem& Sysmem::operator=(const Sysmem& sysmem) { Sysmem::~Sysmem() { deallocateMemory( _data, _size ); - _data = NULL; + _data = nullptr; _size = 0; } Size Sysmem::allocate(Size size) { if (size != _size) { - Byte* newData = NULL; + Byte* newData = nullptr; Size newSize = 0; if (size > 0) { Size allocated = allocateMemory(&newData, size); @@ -90,7 +90,7 @@ Size Sysmem::allocate(Size size) { Size Sysmem::resize(Size size) { if (size != _size) { - Byte* newData = NULL; + Byte* newData = nullptr; Size newSize = 0; if (size > 0) { Size allocated = allocateMemory(&newData, size); @@ -124,7 +124,7 @@ Size Sysmem::setData( Size size, const Byte* bytes ) { } Size Sysmem::setSubData( Size offset, Size size, const Byte* bytes) { - if (size && ((offset + size) <= getSize()) && bytes) { + if (_data && size && ((offset + size) <= getSize()) && bytes) { memcpy( _data + offset, bytes, size ); return size; } diff --git a/libraries/ui/src/ui/Menu.cpp b/libraries/ui/src/ui/Menu.cpp index 16af862324..848b2362ee 100644 --- a/libraries/ui/src/ui/Menu.cpp +++ b/libraries/ui/src/ui/Menu.cpp @@ -402,8 +402,10 @@ MenuWrapper* Menu::addMenu(const QString& menuName, const QString& grouping) { // hook our show/hide for popup menus, so we can keep track of whether or not one // of our submenus is currently showing. - connect(menu->_realMenu, &QMenu::aboutToShow, []() { _isSomeSubmenuShown = true; }); - connect(menu->_realMenu, &QMenu::aboutToHide, []() { _isSomeSubmenuShown = false; }); + if (menu && menu->_realMenu) { + connect(menu->_realMenu, &QMenu::aboutToShow, []() { _isSomeSubmenuShown = true; }); + connect(menu->_realMenu, &QMenu::aboutToHide, []() { _isSomeSubmenuShown = false; }); + } return menu; }