Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Check note type for brand.
Vsevolod Stakhov committed 12 years ago
commit 28ce80aa6b90d3af056e49ed9f6d145ffa75b881
parent e75d5d6
1 file changed +9 -1
modified libpkg/pkg_elf.c
@@ -262,7 +262,15 @@ analyse_elf(struct pkg *pkg, const char *fpath,
		}
		switch (shdr.sh_type) {
		case SHT_NOTE:
-
			note = scn;
+
			if ((data = elf_getdata(scn, NULL)) == NULL) {
+
				ret = EPKG_END; /* Some error occurred, ignore this file */
+
				goto cleanup;
+
			}
+
			else if (data->d_buf != NULL) {
+
				Elf_Note *en = (Elf_Note *)data->d_buf;
+
				if (en->n_type == NT_FREEBSD_ABI_TAG)
+
					note = scn;
+
			}
			break;
		case SHT_DYNAMIC:
			dynamic = scn;