Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Correctly parse messages from the ports tree
Baptiste Daroussin committed 10 years ago
commit bd0feb92614f184357aa60e6b25d9f96c306580d
parent 58fd84e
1 file changed +4 -3
modified libpkg/pkg.c
@@ -304,6 +304,7 @@ static int
pkg_vset(struct pkg *pkg, va_list ap)
{
	int attr;
+
	const char *buf;

	while ((attr = va_arg(ap, int)) > 0) {
		if (attr >= PKG_NUM_FIELDS || attr <= 0) {
@@ -338,9 +339,9 @@ pkg_vset(struct pkg *pkg, va_list ap)
			(void)va_arg(ap, const char *);
			break;
		case PKG_MESSAGE:
-
			free(pkg->message);
-
			pkg->message = calloc(1, sizeof(*pkg->message));
-
			pkg->message->str = strdup(va_arg(ap, const char *));
+
			pkg_message_free(pkg->message);
+
			buf = va_arg(ap, const char *);
+
			pkg_message_from_str(pkg, buf, strlen(buf));
			break;
		case PKG_ARCH:
			free(pkg->arch);