From f9065b53ad366279a2a9f267d6275db045d5a150 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sun, 21 May 2017 19:40:53 -0400 Subject: [PATCH] libdebugger: Minor fixes to NetworkTargetHostInterface classes. NetworkTargetHostInterface: - Fix missing initializer. This would lead to a crash in the destructor. NetworkTargetHostInterfaceInfo: - Implement IsConfigured() to validate passed in settings. --- .../network/NetworkTargetHostInterface.cpp | 5 +++-- .../network/NetworkTargetHostInterfaceInfo.cpp | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterface.cpp b/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterface.cpp index 021b505eb3..55f792b6af 100644 --- a/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterface.cpp +++ b/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterface.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016, Rene Gollent, rene@gollent.com. + * Copyright 2016-2017, Rene Gollent, rene@gollent.com. * Copyright 2016, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ @@ -18,7 +18,8 @@ NetworkTargetHostInterface::NetworkTargetHostInterface() : - TargetHostInterface() + TargetHostInterface(), + fTargetHost(NULL) { SetName("Network"); } diff --git a/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterfaceInfo.cpp b/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterfaceInfo.cpp index 30d30c369b..4dabc55161 100644 --- a/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterfaceInfo.cpp +++ b/src/kits/debugger/target_host_interface/network/NetworkTargetHostInterfaceInfo.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016, Rene Gollent, rene@gollent.com. + * Copyright 2016-2017, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #include "NetworkTargetHostInterfaceInfo.h" @@ -8,6 +8,7 @@ #include "NetworkTargetHostInterface.h" #include "SettingsDescription.h" +#include "Settings.h" #include "Setting.h" @@ -46,7 +47,7 @@ NetworkTargetHostInterfaceInfo::Init() settingDeleter.Detach(); setting = new(std::nothrow) BoundedSettingImpl(kPortSetting, "Port", - (uint16)0, (uint16)65535, (uint16)8305); + (uint16)1, (uint16)65535, (uint16)8305); if (setting == NULL) return B_NO_MEMORY; if (!fDescription->AddSetting(setting)) { @@ -68,6 +69,15 @@ NetworkTargetHostInterfaceInfo::IsLocal() const bool NetworkTargetHostInterfaceInfo::IsConfigured(Settings* settings) const { + BVariant hostSetting = settings->Value(kHostnameSetting); + BVariant portSetting = settings->Value(kPortSetting); + + if (hostSetting.Type() != B_STRING_TYPE || !portSetting.IsNumber()) + return false; + + if (strlen(hostSetting.ToString()) == 0) + return false; + return true; }