Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
backup_lib.c: call strrchr() before pkg_open_root and memset
rilysh committed 11 months ago
commit fb98d4683fac351b28190b8b78b7f2b63de8b86c
parent cc8d5f2
1 file changed +5 -3
modified libpkg/backup_lib.c
@@ -93,17 +93,18 @@ register_backup(struct pkgdb *db, int fd, const char *path)
void
backup_library(struct pkgdb *db, struct pkg *p, const char *path)
{
-
	const char *libname = strrchr(path, '/');
+
	const char *libname;
	char buf[BUFSIZ];
	char *outbuf;
	int from, to, backupdir;
	ssize_t nread, nwritten;

+
	if ((libname = strrchr(path, '/')) == NULL)
+
		return;
+

	pkg_open_root_fd(p);
	to = -1;

-
	if (libname == NULL)
-
		return;
	/* skip the initial / */
	libname++;

@@ -141,6 +142,7 @@ backup_library(struct pkgdb *db, struct pkg *p, const char *path)
		goto out;
	}

+
	memset(buf, '\0', sizeof(buf));
	while ((nread = read(from, buf, sizeof(buf))) > 0) {
		outbuf = buf;
		do {