vol-check-malloc-return-20030208
authorDerrick Brashear <shadow@dementia.org>
Sat, 8 Feb 2003 07:38:39 +0000 (07:38 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sat, 8 Feb 2003 07:38:39 +0000 (07:38 +0000)
make sure malloc doesn't fail in vol package either

src/vol/clone.c
src/vol/vnode.c
src/vol/volume.c

index 0011559..fdaac8e 100644 (file)
@@ -94,6 +94,10 @@ struct clone_head *ah; {
     /* if no last elt (first call) or last item full, get a new one */
     if ((!ah->last) || ah->last->nitems >= CLONE_MAXITEMS) {
        ti = (struct clone_items *) malloc(sizeof(struct clone_items));
+       if (!ti) {
+           Log("ci_AddItem: malloc failed\n");
+           assert(0);
+       }
        ti->nitems = 0;
        ti->next = (struct clone_items *) 0;
        if (ah->last) {
index ee3e663..0e7eb79 100644 (file)
@@ -392,6 +392,7 @@ Vnode *VAllocVnode_r(ec,vp,type)
          } else {
              /* growing file - grow in a reasonable increment */
              char *buf = (char *)malloc(16*1024);
+             if (!buf) Abort("VAllocVnode: malloc failed\n");
              memset(buf, 0, 16*1024);
              FDH_WRITE(fdP, buf, 16*1024);
              free(buf);
index 9f825bf..709ced5 100644 (file)
@@ -1719,6 +1719,7 @@ void VAddToVolumeUpdateList_r(Error *ec, Volume *vp)
            UpdateList = (VolumeId *) realloc(UpdateList, sizeof (VolumeId) * updateSize);
        }
     }
+    assert(UpdateList != NULL);
     UpdateList[nUpdatedVolumes++] = V_id(vp);
 }