Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Do no accept unknown user/group in pkg register -i
Baptiste Daroussin committed 12 years ago
commit 4116df7a9ad823785705ca6b6861ae50e31e4545
parent 984f102
1 file changed +10 -0
modified libpkg/packing.c
@@ -182,6 +182,11 @@ packing_append_file_attr(struct packing *pack, const char *filepath,
	if (uname != NULL && uname[0] != '\0') {
		if (pack->pass) {
			struct passwd* pw = getpwnam(uname);
+
			if (pw == NULL) {
+
				pkg_emit_error("Unknown user: '%s'", uname);
+
				retcode = EPKG_FATAL;
+
				goto cleanup;
+
			}
			archive_entry_set_uid(entry, pw->pw_uid);
		}
		archive_entry_set_uname(entry, uname);
@@ -190,6 +195,11 @@ packing_append_file_attr(struct packing *pack, const char *filepath,
	if (gname != NULL && gname[0] != '\0') {
		if (pack->pass) {
			struct group *gr = (getgrnam(gname));
+
			if (gr == NULL) {
+
				pkg_emit_error("Unknown group: '%s'", gname);
+
				retcode = EPKG_FATAL;
+
				goto cleanup;
+
			}
			archive_entry_set_gid(entry, gr->gr_gid);
		}
		archive_entry_set_gname(entry, gname);