Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Fix tests compilation and a segfault when pkg_open2() fail in pkg_open()
jlaffaye committed 15 years ago
commit e2333623a15870be94e484990eb6324ee3e6df86
parent 436c148132cde20c18c283026810a2c548cef074
2 files changed +5 -3
modified libpkg/pkg.c
@@ -222,7 +222,9 @@ pkg_open(struct pkg **pkg_p, const char *path)

	retcode = pkg_open2(pkg_p, &a, &ae, path);

-
	archive_read_finish(a);
+
	if (a != NULL)
+
		archive_read_finish(a);
+

	return (retcode);
}

modified tests/pkg.c
@@ -24,8 +24,8 @@ START_TEST(pkg_null)
	fail_unless(pkg_new(&p) == EPKG_OK);
	fail_unless(pkg_set(p, PKG_NAME, NULL) == EPKG_FATAL);
	fail_unless(pkg_set_from_file(p, PKG_NAME, NULL) == EPKG_FATAL);
-
	fail_unless(pkg_open(NULL, &p, 0) == EPKG_FATAL);
-
	fail_unless(pkg_open("test", &p, 0) == EPKG_FATAL);
+
	fail_unless(pkg_open(&p, NULL) == EPKG_FATAL);
+
	fail_unless(pkg_open(&p, "test") == EPKG_FATAL);
	fail_unless(pkg_addscript(p, NULL) == EPKG_FATAL);
	fail_unless(pkg_addscript(p, "./bla") == EPKG_FATAL);
	fail_unless(pkg_addoption(p, NULL, "bar") == EPKG_FATAL);