/* Walk through options, appending to defs. */
for (p = bv; *p != NULL; p++) {
- char *copy, *var, *val;
+ char *var, *val;
int op;
- copy = strdup((*p)->bv_val); /* XXX - should not need to copy */
- if (copy == NULL) {
- sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
- free(copy);
- goto done;
- }
-
- op = sudo_ldap_parse_option(copy, &var, &val);
+ op = sudo_ldap_parse_option((*p)->bv_val, &var, &val);
if (!sudo_ldap_add_default(var, val, op, source, defs)) {
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
- free(copy);
goto done;
}
-
- free(copy);
}
ret = true;
/* Walk through options, appending to defs. */
for (i = 0; val_array[i] != NULL; i++) {
- char *copy, *var, *val;
+ char *var, *val;
int op;
- /* XXX - should not need to copy */
- if ((copy = strdup(val_array[i])) == NULL)
+ op = sudo_ldap_parse_option(val_array[i], &var, &val);
+ if (!sudo_ldap_add_default(var, val, op, source, defs))
goto oom;
- op = sudo_ldap_parse_option(copy, &var, &val);
- if (!sudo_ldap_add_default(var, val, op, source, defs)) {
- free(copy);
- goto oom;
- }
- free(copy);
}
ret = true;
goto done;