[X2Go-Commits] [libx2goclient] 09/09: src/x2goclient-network-ssh.c: fix error handling in parse_sockspec () family.
git-admin at x2go.org
git-admin at x2go.org
Thu Aug 15 17:40:10 CEST 2019
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository libx2goclient.
commit 657b2a0177b3edef8b127f0c371f884f3b612128
Author: Mihai Moldovan <ionic at ionic.de>
Date: Thu Aug 15 17:39:38 2019 +0200
src/x2goclient-network-ssh.c: fix error handling in parse_sockspec () family.
---
src/x2goclient-network-ssh.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c
index d39cdd6..7c9939c 100644
--- a/src/x2goclient-network-ssh.c
+++ b/src/x2goclient-network-ssh.c
@@ -206,6 +206,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *
*tmp_end = NULL;
GString *address = NULL;
guint16 port = 0;
+ gboolean int_err = FALSE;
if (want_v6) {
/*
@@ -241,6 +242,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *
}
else {
g_set_error_literal (err, X2GOCLIENT_NETWORK_SSH_ERROR, X2GOCLIENT_NETWORK_SSH_ERROR_IPV6_CONV, "Found starting bracket, but no matching ending bracket.");
+ int_err = TRUE;
}
}
else {
@@ -265,7 +267,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *
}
}
- if (!err) {
+ if (!(int_err)) {
gboolean is_v6 = FALSE,
is_v4 = FALSE;
char binary_rep[128] = { 0 };
@@ -332,9 +334,11 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *
if (tmp_err) {
if (want_v6) {
g_set_error (err, X2GOCLIENT_NETWORK_SSH_ERROR, X2GOCLIENT_NETWORK_SSH_ERROR_IPV6_CONV, "Unable to parse IPv6 address: %s", tmp_err->message);
+ int_err = TRUE;
}
else {
g_set_error (err, X2GOCLIENT_NETWORK_SSH_ERROR, X2GOCLIENT_NETWORK_SSH_ERROR_IPV4_CONV, "Unable to parse IPv4 address: %s", tmp_err->message);
+ int_err = TRUE;
}
g_clear_error (&tmp_err);
}
@@ -342,7 +346,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *
}
}
- if (!err) {
+ if (!(int_err)) {
/*
* Parsed everything successfully so far, so create IP socket address
* object.
@@ -371,6 +375,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GStrin
*tmp_end = NULL;
GString *address = NULL;
guint16 port = 0;
+ gboolean int_err = FALSE;
/*
* For FQDN or alias addresses (like for IPv4 addresses), we'll accept any
@@ -396,9 +401,10 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GStrin
const gsize max_len = (sizeof (((struct sockaddr_ho*)(NULL))->sho_addr) - 1);
if (max_len < address->len) {
g_set_error (err, X2GOCLIENT_NETWORK_SSH_ERROR, X2GOCLIENT_NETWORK_SSH_ERROR_ALIAS_CONV, "Unable to parse FQDN or alias pseudo-address: name too long, expected at most %" G_GSIZE_FORMAT " bytes, got %" G_GSIZE_FORMAT " bytes.", max_len, address->len);
+ int_err = TRUE;
}
- if (!err) {
+ if (!(int_err)) {
if (tmp_end) {
/*
* No encapsulation whatsoever, so the colon must be at the next
@@ -414,11 +420,12 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GStrin
if (tmp_err) {
g_set_error (err, X2GOCLIENT_NETWORK_SSH_ERROR, X2GOCLIENT_NETWORK_SSH_ERROR_ALIAS_CONV, "Unable to parse FQDN or alias pseudo-address: %s", tmp_err->message);
g_clear_error (&tmp_err);
+ int_err = TRUE;
}
}
}
- if (!err) {
+ if (!(int_err)) {
/*
* Parsed everything successfully so far, so create native socket address
* object.
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
More information about the x2go-commits
mailing list