summaryrefslogtreecommitdiff
path: root/src/string/strdup.c
blob: 0016a26716f483d60f7f41c61103cdca8b7d3bfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <string.h>
#include <stdlib.h>
#include "_safety.h"

char *strdup(const char *s)
{
	ASSERT_NONNULL(s);
	DANGEROUS_READ(s, -1);
	size_t len = strlen(s) + 1;
	DANGER_OVER();

	char *dup = malloc(len);
	memcpy(dup, s, len);
	return dup;
}