Fix Coverity warnings

Two problems were found:-
1) A useless test in scp_list.c - testing an unsigned int was >= 0.
2) Flow control issues in scp.c:scp_get_connect_session_response() meant
   that file descriptors could be leaked. A helper function has been
   used to simplify the code.
This commit is contained in:
matt335672
2025-07-15 11:07:38 +01:00
parent cf202d618b
commit 02eae9f3ba
3 changed files with 78 additions and 45 deletions
+1 -2
View File
@@ -273,8 +273,7 @@ scp_list_get_create_session_displays(struct set_int *alloc_displays)
sli = (struct scp_list_item *)list_get_item(g_scp_list, i);
if (SCP_LIST_ITEM_IN_USE(sli) &&
sli->create_session_in_progress &&
sli->session_display >= 0)
sli->create_session_in_progress)
{
set_int_add(alloc_displays, sli->session_display);
}
+2 -1
View File
@@ -86,7 +86,8 @@ struct scp_list_item
char start_ip_addr[MAX_PEER_ADDRSTRLEN];
int is_admin;
int create_session_in_progress; ///< Already handling a create_session
unsigned int session_display; ///< Display allocated for create_session
/// Display allocated for session. This is always valid (>= 0)
unsigned int session_display;
};