TALLOC_FREE(rec);
return false;
}
- old_data = *(void **)(value.dptr);
+ memcpy(&old_data, value.dptr, sizeof(old_data));
TALLOC_FREE(old_data);
if (data == NULL) {
status = dbwrap_record_delete(rec);
TDB_DATA value;
struct talloc_dict_traverse_state *state =
(struct talloc_dict_traverse_state *)private_data;
+ void *p;
key = dbwrap_record_get_key(rec);
value = dbwrap_record_get_value(rec);
if (value.dsize != sizeof(void *)) {
return -1;
}
+
+ memcpy(&p, value.dptr, sizeof(p));
return state->fn(data_blob_const(key.dptr, key.dsize),
- *(void **)value.dptr, state->private_data);
+ p, state->private_data);
}
/*