瀏覽代碼

Ticket #48048 - Fix coverity issues - 2015/2/24

Coverity defect 13078 - Explicit null dereferenced (FORWARD_NULL)
Description: Added NULL check for conn.  If NULL, let sync_send_
results abort there.  Also, added "return" if sync_acquire_connection
returns non success as advertised as "aborted" in the error message.
modified: sync_send_results in plugins/sync/sync_persist.c
Noriko Hosoi 10 年之前
父節點
當前提交
94d4b10ea1
共有 1 個文件被更改,包括 7 次插入1 次删除
  1. 7 1
      ldap/servers/plugins/sync/sync_persist.c

+ 7 - 1
ldap/servers/plugins/sync/sync_persist.c

@@ -575,12 +575,18 @@ sync_send_results( void *arg )
 	slapi_pblock_get(req->req_pblock, SLAPI_CONN_ID, &connid);
 	slapi_pblock_get(req->req_pblock, SLAPI_CONN_ID, &connid);
 	slapi_pblock_get(req->req_pblock, SLAPI_OPERATION_ID, &opid);
 	slapi_pblock_get(req->req_pblock, SLAPI_OPERATION_ID, &opid);
 	slapi_pblock_get(req->req_pblock, SLAPI_CONNECTION, &conn);
 	slapi_pblock_get(req->req_pblock, SLAPI_CONNECTION, &conn);
-
+	if (NULL == conn) {
+		slapi_log_error(SLAPI_LOG_FATAL, "Content Synchronization Search",
+						"conn=%" NSPRIu64 " op=%d Null connection - aborted\n",
+						(long long unsigned int)connid, opid);
+		return;
+	}
 	conn_acq_flag = sync_acquire_connection (conn);
 	conn_acq_flag = sync_acquire_connection (conn);
 	if (conn_acq_flag) {
 	if (conn_acq_flag) {
 		slapi_log_error(SLAPI_LOG_FATAL, "Content Synchronization Search",
 		slapi_log_error(SLAPI_LOG_FATAL, "Content Synchronization Search",
 						"conn=%" NSPRIu64 " op=%d Could not acquire the connection - aborted\n",
 						"conn=%" NSPRIu64 " op=%d Could not acquire the connection - aborted\n",
 						(long long unsigned int)connid, opid);
 						(long long unsigned int)connid, opid);
+		return;
 	}
 	}
 
 
 	PR_Lock( sync_request_list->sync_req_cvarlock );
 	PR_Lock( sync_request_list->sync_req_cvarlock );