summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqball <qball@Maigret.localdomain>2019-05-10 20:29:11 +0200
committerqball <qball@Maigret.localdomain>2019-05-10 20:29:11 +0200
commit871ea4278504aa5b0caf1121e90c7e562431531a (patch)
tree653f08a8f7b02d447ddc037298b024761e7ab8c9
parentcf8b76c6a6e7ea74681970b83f190fecee98a1ef (diff)
[SSH] Always initialize .port field.
-rw-r--r--source/dialogs/ssh.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source/dialogs/ssh.c b/source/dialogs/ssh.c
index e077199e..7e94bd26 100644
--- a/source/dialogs/ssh.c
+++ b/source/dialogs/ssh.c
@@ -210,11 +210,11 @@ static SshEntry *read_known_hosts_file ( const char *path, SshEntry * retv, unsi
errno = 0;
gchar *endptr = NULL;
gint64 number = g_ascii_strtoll ( &(end[2]), &endptr, 10);
- if ( errno != 0 ) {
+ if ( errno != 0 ) {
g_warning ( "Failed to parse port number: %s.", &(end[2]) );
} else if ( endptr == &(end[2])) {
g_warning ( "Failed to parse port number: %s, invalid number.", &(end[2]) );
- } else if ( number < 0 || number > 65535 ) {
+ } else if ( number < 0 || number > 65535 ) {
g_warning ( "Failed to parse port number: %s, out of range.", &(end[2]) );
} else {
port = number;
@@ -303,6 +303,7 @@ static SshEntry *read_hosts_file ( SshEntry * retv, unsigned int *length )
retv = g_realloc ( retv,
( ( *length ) + 2 ) * sizeof ( char* ) );
retv[( *length )].hostname = g_strdup ( token );
+ retv[( *length )].port = 0;
retv[( *length ) + 1].hostname = NULL;
( *length )++;
}
@@ -428,8 +429,9 @@ static void parse_ssh_config_file ( SSHModePrivateData *pd, const char *filename
}
// Add this host name to the list.
- ( *retv ) = g_realloc ( ( *retv ), ( ( *length ) + 2 ) * sizeof ( SshEntry ) );
+ ( *retv ) = g_realloc ( ( *retv ), ( ( *length ) + 2 ) * sizeof ( SshEntry ) );
( *retv )[( *length )].hostname = g_strdup ( token );
+ ( *retv )[( *length )].port = 0;
( *retv )[( *length ) + 1].hostname = NULL;
( *length )++;
}
@@ -475,15 +477,15 @@ static SshEntry * get_ssh ( SSHModePrivateData *pd, unsigned int *length )
errno = 0;
gchar *endptr= NULL;
gint64 number = g_ascii_strtoll ( &(portstr[1]), &endptr, 10);
- if ( errno != 0 ) {
+ if ( errno != 0 ) {
g_warning ( "Failed to parse port number: %s.", &(portstr[1]) );
} else if ( endptr == &(portstr[1])) {
g_warning ( "Failed to parse port number: %s, invalid number.", &(portstr[1]) );
- } else if ( number < 0 || number > 65535 ) {
+ } else if ( number < 0 || number > 65535 ) {
g_warning ( "Failed to parse port number: %s, out of range.", &(portstr[1]) );
} else {
port = number;
- }
+ }
}
retv[i].hostname = h[i];
retv[i].port = port;