ソースを参照

lib/srdb1 Prevent crash in case of incorrect parameter

Reported by clang.
Marius Zbihlei 14 年 前
コミット
2ded4b2f05
1 ファイル変更2 行追加0 行削除
  1. 2 0
      lib/srdb1/db_id.c

+ 2 - 0
lib/srdb1/db_id.c

@@ -207,12 +207,14 @@ static int parse_db_url(struct db_id* id, const str* url)
 	return 0;
 	return 0;
 
 
  err:
  err:
+	if (!id) goto end;
 	if (id->scheme) pkg_free(id->scheme);
 	if (id->scheme) pkg_free(id->scheme);
 	if (id->username) pkg_free(id->username);
 	if (id->username) pkg_free(id->username);
 	if (id->password) pkg_free(id->password);
 	if (id->password) pkg_free(id->password);
 	if (id->host) pkg_free(id->host);
 	if (id->host) pkg_free(id->host);
 	if (id->database) pkg_free(id->database);
 	if (id->database) pkg_free(id->database);
 	if (prev_token) pkg_free(prev_token);
 	if (prev_token) pkg_free(prev_token);
+ end:
 	return -1;
 	return -1;
 }
 }