Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
libpkg: fix removal during iteration bugs
Isaac Freund committed 3 months ago
commit 3d87d1a86d8ce877069450568f11804d3fea3674
parent 02ce530
1 file changed +3 -0
modified libpkg/pkg_abi.c
@@ -612,9 +612,11 @@ pkg_analyse_files(struct pkgdb *db __unused, struct pkg *pkg, const char *stage)
			if (STREQ(maybe_provided.d[i], internal_provided.d[j])) {
				pkg_addshlib_provided(pkg, maybe_provided.d[i], PKG_SHLIB_FLAGS_NONE);
				vec_remove_and_free(&internal_provided, j, free);
+
				j--;
			}
		}
		vec_remove_and_free(&maybe_provided, i, free);
+
		i--;
	}
	vec_free(&maybe_provided);
	/*
@@ -632,6 +634,7 @@ pkg_analyse_files(struct pkgdb *db __unused, struct pkg *pkg, const char *stage)
			    "is matched by SHLIB_PROVIDE_IGNORE_GLOB/REGEX.",
			    pkg->shlibs_provided.d[i], pkg->name);
			vec_remove_and_free(&pkg->shlibs_provided, i, free);
+
			i--;
			continue;
		}
	}