X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fpara_net.c;h=74b446642645bb38ca3a6f5a27b064b650789a49;hb=d0652a946b5d7dcee13c9d445b103f37284059aa;hp=0bb7698af7955b767e2404469cd7fbd43e5cc9f3;hpb=123a1ba27ea09c8fa77a1b36ce625b43d7c48b14;p=palacios.git diff --git a/palacios/src/devices/para_net.c b/palacios/src/devices/para_net.c index 0bb7698..74b4466 100644 --- a/palacios/src/devices/para_net.c +++ b/palacios/src/devices/para_net.c @@ -39,6 +39,11 @@ static int tx_call(struct guest_info * info, uint_t call_no, void * priv_data) { 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("Cannot allocate in transmit!\n"); + return -1; + } PrintDebug("Transmitting Packet\n"); @@ -102,16 +107,21 @@ static struct v3_device_ops dev_ops = { static int net_init(struct guest_info * vm, v3_cfg_tree_t * cfg) { struct nic_state * state = NULL; - char * name = v3_cfg_val(cfg, "name"); + char * dev_id = v3_cfg_val(cfg, "ID"); state = (struct nic_state *)V3_Malloc(sizeof(struct nic_state)); + if (!state) { + PrintError("Cannot allocate in init\n"); + return -1; + } + PrintDebug("Creating VMNet Device\n"); - struct vm_device * dev = v3_allocate_device(name, &dev_ops, state); + 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", name); + PrintError("Could not attach device %s\n", dev_id); return -1; }