kmem_strdup
*val = kmem_strdup(propval->String.Pointer, KM_SLEEP);
path = kmem_strdup("", KM_SLEEP);
key = kmem_strdup(firstanp->an_name, KM_SLEEP);
return nlen > 0 ? kmem_strndup(name, nlen, fl) : kmem_strdup(name, fl);