addr_t pkt_gpa = info->vm_regs.rbx;
int pkt_len = info->vm_regs.rcx;
uchar_t * pkt = V3_Malloc(pkt_len);
+
+ if (!pkt) {
+ PrintError(info->vm_info, info, "Cannot allocate in transmit!\n");
+ return -1;
+ }
- PrintDebug("Transmitting Packet\n");
+ PrintDebug(info->vm_info, info, "Transmitting Packet\n");
if (read_guest_pa_memory(info, pkt_gpa, pkt_len, pkt) != -1) {
return -1;
uint_t pkt_len = 0;
uchar_t * pkt = NULL;
- PrintDebug("Receiving Packet\n");
+ PrintDebug(info->vm_info, info, "Receiving Packet\n");
return -1;
if (write_guest_pa_memory(info, pkt_gpa, pkt_len, pkt) != -1) {
addr_t mac_gpa = info->vm_regs.rbx;
- PrintDebug("Returning MAC ADDR\n");
+ PrintDebug(info->vm_info, info, "Returning MAC ADDR\n");
if (write_guest_pa_memory(info, mac_gpa, 6, nic->mac_addr) != 6) {
- PrintError("Could not write mac address\n");
+ PrintError(info->vm_info, info, "Could not write mac address\n");
return -1;
}
state = (struct nic_state *)V3_Malloc(sizeof(struct nic_state));
- PrintDebug("Creating VMNet Device\n");
+ if (!state) {
+ PrintError(info->vm_info, info, "Cannot allocate in init\n");
+ return -1;
+ }
+
+ PrintDebug(info->vm_info, info, "Creating VMNet Device\n");
struct vm_device * dev = v3_allocate_device(dev_id, &dev_ops, state);
if (v3_attach_device(vm, dev) == -1) {
- PrintError("Could not attach device %s\n", dev_id);
+ PrintError(info->vm_info, info, "Could not attach device %s\n", dev_id);
return -1;
}