Просмотр исходного кода

don't segfault upon failed strdup

* sa-confdb.c (load_config): Handle out-of-memory.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1881 fd59a12c-fef9-0310-b244-a6a79926bd2f
Jim Meyering 17 лет назад
Родитель
Сommit
bfebf7da19
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      lib/sa-confdb.c

+ 6 - 2
lib/sa-confdb.c

@@ -103,11 +103,15 @@ static int load_config(void)
 	/* User's bootstrap config service */
 	config_iface = getenv("COROSYNC_DEFAULT_CONFIG_IFACE");
 	if (!config_iface) {
-		config_iface = strdup("corosync_parser");
+		if ((config_iface = strdup("corosync_parser")) == NULL) {
+			return -1;
+		}
 	}
 
 	/* Make a copy so we can deface it with strtok */
-	config_iface = strdup(config_iface);
+	if ((config_iface = strdup(config_iface)) == NULL) {
+		return -1;
+	}
 
 	iface = strtok(config_iface, ":");
 	while (iface)