瀏覽代碼

votequorum: check for parameters and return proper error

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
Reviewed-by: Angus Salkeld <asalked@redhat.com>
Fabio M. Di Nitto 14 年之前
父節點
當前提交
b9af50474e
共有 1 個文件被更改,包括 11 次插入0 次删除
  1. 11 0
      exec/votequorum.c

+ 11 - 0
exec/votequorum.c

@@ -1071,6 +1071,11 @@ static int votequorum_exec_init_fn (struct corosync_api_v1 *api)
 
 	corosync_api = api;
 
+	if (!api) {
+		LEAVE();
+		return (1);
+	}
+
 	list_init(&cluster_members_list);
 	list_init(&trackers_list);
 
@@ -1196,6 +1201,12 @@ cs_error_t votequorum_init(struct corosync_api_v1 *api,
 {
 	ENTER();
 
+	if ((!api) || (!q_set_quorate_fn)) {
+		return CS_ERR_INVALID_PARAM;
+	}
+
+	corosync_api = api;
+
 	quorum_callback = q_set_quorate_fn;
 
 	votequorum_readconfig_static();