Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


memory leak fixes
[palacios.releases.git] / palacios / src / devices / pci.c
index f9a2f9b..42e4c3a 100644 (file)
@@ -1114,7 +1114,7 @@ static int pci_save(struct v3_chkpt_ctx * ctx, void * private_data) {
        struct pci_device * dev = NULL;
        struct v3_chkpt_ctx * bus_ctx = NULL;
 
-       snprintf(buf, 128, "pci-%d\n", i);
+       snprintf(buf, 128, "pci-%d", i);
        
        bus_ctx = v3_chkpt_open_ctx(ctx->chkpt, ctx, buf);
 
@@ -1156,7 +1156,7 @@ static int pci_load(struct v3_chkpt_ctx * ctx, void * private_data) {
        struct pci_device * dev = NULL;
        struct v3_chkpt_ctx * bus_ctx = NULL;
 
-       snprintf(buf, 128, "pci-%d\n", i);
+       snprintf(buf, 128, "pci-%d", i);
        
        bus_ctx = v3_chkpt_open_ctx(ctx->chkpt, ctx, buf);
 
@@ -1202,6 +1202,12 @@ static struct v3_device_ops dev_ops = {
 
 static int pci_init(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) {
     struct pci_internal * pci_state = V3_Malloc(sizeof(struct pci_internal));
+
+    if (!pci_state) {
+       PrintError("Cannot allocate in init\n");
+       return -1;
+    }
+
     int i = 0;
     char * dev_id = v3_cfg_val(cfg, "ID");
     int ret = 0;