Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Replace custom vulnxml_dup_str by strndup
Baptiste Daroussin committed 12 years ago
commit b900c9ba07e7a37916d287c16ce756441a3da8cf
parent 2b86d67
1 file changed +5 -15
modified pkg/audit.c
@@ -470,16 +470,6 @@ vulnxml_end_element(void *data, const char *element)
}

static void
-
vulnxml_dup_str(char **dest, const char *src, int length)
-
{
-
	char *new;
-
	new = malloc(length + 1);
-
	memcpy(new, src, length);
-
	new[length] = '\0';
-
	*dest = new;
-
}
-

-
static void
vulnxml_handle_data(void *data, const char *content, int length)
{
	struct vulnxml_userdata *ud = (struct vulnxml_userdata *)data;
@@ -496,10 +486,10 @@ vulnxml_handle_data(void *data, const char *content, int length)
		/* On these states we do not need any data */
		break;
	case VULNXML_PARSE_TOPIC:
-
		vulnxml_dup_str(&ud->cur_entry->desc, content, length);
+
		ud->cur_entry->desc = strndup(content, length);
		break;
	case VULNXML_PARSE_PACKAGE_NAME:
-
		vulnxml_dup_str(&ud->cur_entry->pkgname, content, length);
+
		ud->cur_entry->pkgname = strndup(content, length);
		break;
	case VULNXML_PARSE_RANGE_GT:
		range_type = GT;
@@ -522,7 +512,7 @@ vulnxml_handle_data(void *data, const char *content, int length)
			if (entry == NULL)
				break;
			cve = malloc(sizeof(struct audit_cve));
-
			vulnxml_dup_str(&cve->cvename, content, length);
+
			cve->cvename = strndup(content, length);
			LL_PREPEND(entry->cve, cve);
		}
		break;
@@ -531,11 +521,11 @@ vulnxml_handle_data(void *data, const char *content, int length)
	if (range_type > 0) {
		vers = ud->cur_entry->versions;
		if (ud->range_num == 1) {
-
			vulnxml_dup_str(&vers->v1.version, content, length);
+
			vers->v1.version = strndup(content, length);
			vers->v1.type = range_type;
		}
		else if (ud->range_num == 2) {
-
			vulnxml_dup_str(&vers->v2.version, content, length);
+
			vers->v2.version = strndup(content, length);
			vers->v2.type = range_type;
		}
	}