From 82fa758beac7ba2725817465b9117640cd1a9404 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 17 Sep 2020 01:49:37 -0300 Subject: [PATCH] Fixing memory management errors. --- client/src/core/linux/request.cc | 5 +++-- client/src/host/properties.cc | 2 +- client/src/include/lib3270/ipc.h | 2 +- client/src/testprogram/testprogram.cc | 14 +++++++++++++- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/client/src/core/linux/request.cc b/client/src/core/linux/request.cc index 8dbbb71..309fefd 100644 --- a/client/src/core/linux/request.cc +++ b/client/src/core/linux/request.cc @@ -77,7 +77,7 @@ if(!response.msg) { string message = error.message; dbus_error_free(&error); - throw std::runtime_error(message.c_str()); + throw std::runtime_error(message); } dbus_message_iter_init(response.msg, &response.iter); @@ -128,7 +128,8 @@ } IPC::Request & IPC::Request::push(const bool arg) { - return push(DBUS_TYPE_BOOLEAN,&arg); + dbus_bool_t bl = (arg ? 1 : 0); + return push(DBUS_TYPE_BOOLEAN,&bl); } IPC::Request & IPC::Request::push(const uint8_t arg) { diff --git a/client/src/host/properties.cc b/client/src/host/properties.cc index 4896319..4b2fa0a 100644 --- a/client/src/host/properties.cc +++ b/client/src/host/properties.cc @@ -58,7 +58,7 @@ std::vector TN3270::Host::getAttributes() const { } -void TN3270::Host::setTimeout(time_t timeout) noexcept { +void TN3270::Host::setTimeout(time_t timeout) { this->timeout = timeout; this->session->setTimeout(timeout); } diff --git a/client/src/include/lib3270/ipc.h b/client/src/include/lib3270/ipc.h index 13c6c5f..a585cb4 100644 --- a/client/src/include/lib3270/ipc.h +++ b/client/src/include/lib3270/ipc.h @@ -856,7 +856,7 @@ } // Set properties - void setTimeout(time_t timeout = DEFAULT_TIMEOUT) noexcept; + void setTimeout(time_t timeout = DEFAULT_TIMEOUT); inline void setUnlockDelay(unsigned short delay = 350) { session->setUnlockDelay(delay); diff --git a/client/src/testprogram/testprogram.cc b/client/src/testprogram/testprogram.cc index f99d392..fca6700 100644 --- a/client/src/testprogram/testprogram.cc +++ b/client/src/testprogram/testprogram.cc @@ -103,6 +103,8 @@ TN3270::Host host{session}; + host.setTimeout(5); + //name="url"; cout << endl << endl; @@ -280,7 +282,17 @@ break; case 'A': - testAttributes(session,optarg); + + try { + + testAttributes(session,optarg); + + } catch(const std::exception &e) { + + cerr << e.what() << endl; + return -1; + } + break; case 'U': -- libgit2 0.21.2