Revision 0fbc2074

b/kvm-all.c
1016 1016
    }
1017 1017
    n = s->irq_routes->nr++;
1018 1018
    new = &s->irq_routes->entries[n];
1019
    memset(new, 0, sizeof(*new));
1020
    new->gsi = entry->gsi;
1021
    new->type = entry->type;
1022
    new->flags = entry->flags;
1023
    new->u = entry->u;
1019

  
1020
    *new = *entry;
1024 1021

  
1025 1022
    set_gsi(s, entry->gsi);
1026 1023
}
......
1037 1034
            continue;
1038 1035
        }
1039 1036

  
1040
        entry->type = new_entry->type;
1041
        entry->flags = new_entry->flags;
1042
        entry->u = new_entry->u;
1037
        *entry = *new_entry;
1043 1038

  
1044 1039
        kvm_irqchip_commit_routes(s);
1045 1040

  
......
1051 1046

  
1052 1047
void kvm_irqchip_add_irq_route(KVMState *s, int irq, int irqchip, int pin)
1053 1048
{
1054
    struct kvm_irq_routing_entry e;
1049
    struct kvm_irq_routing_entry e = {};
1055 1050

  
1056 1051
    assert(pin < s->gsi_count);
1057 1052

  
......
1164 1159
            return virq;
1165 1160
        }
1166 1161

  
1167
        route = g_malloc(sizeof(KVMMSIRoute));
1162
        route = g_malloc0(sizeof(KVMMSIRoute));
1168 1163
        route->kroute.gsi = virq;
1169 1164
        route->kroute.type = KVM_IRQ_ROUTING_MSI;
1170 1165
        route->kroute.flags = 0;
......
1186 1181

  
1187 1182
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
1188 1183
{
1189
    struct kvm_irq_routing_entry kroute;
1184
    struct kvm_irq_routing_entry kroute = {};
1190 1185
    int virq;
1191 1186

  
1192 1187
    if (!kvm_gsi_routing_enabled()) {
......
1213 1208

  
1214 1209
int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg)
1215 1210
{
1216
    struct kvm_irq_routing_entry kroute;
1211
    struct kvm_irq_routing_entry kroute = {};
1217 1212

  
1218 1213
    if (!kvm_irqchip_in_kernel()) {
1219 1214
        return -ENOSYS;

Also available in: Unified diff