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:
+1
-2
@@ -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
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user