* src/xen/xm_internal.c (xenXMConfigGetULong): Remove useless and
misleading test (always false) for val->str == NULL before code that
always dereferences val->str. "val" comes from virConfGetValue, and
at that point, val->str is guaranteed to be non-NULL.
(xenXMConfigGetBool): Likewise.
* src/util/conf.c (virConfSetValue): Ensure that vir->str is never NULL,
not even if someone tries to set such a value via virConfSetValue.
{
virConfEntryPtr cur, prev = NULL;
+ if (value && value->type == VIR_CONF_STRING && value->str == NULL)
+ return -1;
+
cur = conf->entries;
while (cur != NULL) {
if ((cur->name != NULL) && (STREQ(cur->name, setting))) {
if (val->type == VIR_CONF_LONG) {
*value = val->l ? 1 : 0;
} else if (val->type == VIR_CONF_STRING) {
- if (!val->str) {
- *value = def;
- }
*value = STREQ(val->str, "1") ? 1 : 0;
} else {
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
*value = val->l;
} else if (val->type == VIR_CONF_STRING) {
char *ret;
- if (!val->str) {
- *value = def;
- }
*value = strtol(val->str, &ret, 10);
if (ret == val->str) {
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,