Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix checksum on symlinks (#1441)
Baptiste Daroussin committed 9 years ago
commit 1b23a90ea816228ad730b70d8423faa3159cfe6a
parent 830eab2
1 file changed +6 -2
modified libpkg/pkg_checksum.c
@@ -690,13 +690,17 @@ pkg_checksum_symlink_readlink(const char *linkbuf, int linklen, const char *root
	lnk = linkbuf;
	if (root != NULL) {
		/* Skip root from checksum, as it is meaningless */
-
		if (strncmp(root, linkbuf, strlen(root)) == 0)
+
		if (strncmp(root, linkbuf, strlen(root)) == 0) {
			lnk += strlen(root);
+
			linklen -= strlen(root);
+
		}
	}

	/* Skip heading slashes */
-
	while(*lnk == '/')
+
	while(*lnk == '/') {
		lnk++;
+
		linklen--;
+
	}

	return (pkg_checksum_data(lnk, linklen, type));
}