From 3767b1088890959147b8d3e0dbf63e472f2fac96 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Tue, 19 Nov 2019 15:32:50 -0600 Subject: Qt UI: Fix small memory leak issues --- ui/qt5/datetimepage.cc | 8 ++++++-- ui/qt5/inputpage.cc | 6 +++++- ui/qt5/netsimplewifipage.cc | 3 +++ 3 files changed, 14 insertions(+), 3 deletions(-) (limited to 'ui/qt5') diff --git a/ui/qt5/datetimepage.cc b/ui/qt5/datetimepage.cc index a333c15..f3e2ad2 100644 --- a/ui/qt5/datetimepage.cc +++ b/ui/qt5/datetimepage.cc @@ -114,11 +114,15 @@ void DateTimePage::maybeRaiseCap() { if(captain == nullptr) return; - if(cap_set_flag(captain, CAP_EFFECTIVE, 1, &time_cap, CAP_SET) == -1) + if(cap_set_flag(captain, CAP_EFFECTIVE, 1, &time_cap, CAP_SET) == -1) { + cap_free(captain); return; + } - if(cap_set_proc(captain)) + if(cap_set_proc(captain)) { + cap_free(captain); return; + } cap_free(captain); diff --git a/ui/qt5/inputpage.cc b/ui/qt5/inputpage.cc index 2807c02..4717300 100644 --- a/ui/qt5/inputpage.cc +++ b/ui/qt5/inputpage.cc @@ -91,10 +91,14 @@ void InputPage::initializePage() { /* Select the current keyboard layout, if available. */ Display *dpy = XOpenDisplay(nullptr); if(dpy != nullptr) { - XkbRF_VarDefsRec vardefs; + XkbRF_VarDefsRec vardefs{}; XkbRF_GetNamesProp(dpy, nullptr, &vardefs); QList items = layoutList->findItems(vardefs.layout, Qt::MatchExactly); if(!items.empty()) layoutList->setCurrentItem(items.at(0)); + free(vardefs.model); + free(vardefs.layout); + free(vardefs.variant); + free(vardefs.options); XCloseDisplay(dpy); } #endif /* HAS_INSTALL_ENV */ diff --git a/ui/qt5/netsimplewifipage.cc b/ui/qt5/netsimplewifipage.cc index 3f61cb9..a1e6139 100644 --- a/ui/qt5/netsimplewifipage.cc +++ b/ui/qt5/netsimplewifipage.cc @@ -286,6 +286,9 @@ int NetworkSimpleWirelessPage::processScan(wpactrl_t *c, const char *, size_t) { ssidListView->addItem(item); } + stralloc_free(&netstr); + genalloc_free(wpactrl_scanres_t, &nets); + return 1; } #endif /* HAS_INSTALL_ENV */ -- cgit v1.2.3-60-g2f50