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@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