Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
backup.c: do not overwrite the "d" pointer
rilysh committed 1 year ago
commit 9ec9d0134157f26945d1e828f77d020d1e0623c2
parent 254f158
1 file changed +7 -6
modified libpkg/backup.c
@@ -117,18 +117,19 @@ pkgdb_dump(struct pkgdb *db, const char *dest)
	int	 ret;
	int destdbfd;
	int savedfd;
-
	char *d;
+
	char *dup, *dir;

-
	d = xstrdup(dest);
-
	d = get_dirname(d);
-
	destdbfd = open(d, O_DIRECTORY|O_CLOEXEC);
+
	dup = xstrdup(dest);
+
	dir = get_dirname(dup);
+
	destdbfd = open(dir, O_DIRECTORY|O_CLOEXEC);
	if (destdbfd == -1)
-
		pkg_fatal_errno("Unable to access '%s'", d);
+
		pkg_fatal_errno("Unable to access '%s'", dir);

	savedfd = pkg_get_dbdirfd();
	ctx.pkg_dbdirfd = destdbfd;
	ret = sqlite3_open(dest, &backup);
-
	free(d);
+
	free(dup);
+
	free(dir);

	if (ret != SQLITE_OK) {
		ERROR_SQLITE(backup, "sqlite3_open");