Whamcloud - gitweb
Fix memory not being freed correctly and incorrect checks aroun memory
authorgreen <green>
Sat, 25 Oct 2003 08:17:27 +0000 (08:17 +0000)
committergreen <green>
Sat, 25 Oct 2003 08:17:27 +0000 (08:17 +0000)
allocations.

lnet/router/router.c
lustre/portals/router/router.c

index f082415..b5bab2c 100644 (file)
@@ -580,8 +580,10 @@ kpr_add_route (int gateway_nalid, ptl_nid_t gateway_nid,
         atomic_set (&ge->kpge_weight, 0);
 
         PORTAL_ALLOC (re, sizeof (*re));
-        if (re == NULL)
+        if (re == NULL) {
+                PORTAL_FREE (ge, sizeof (*ge));
                 return (-ENOMEM);
+        }
 
         re->kpre_lo_nid = lo_nid;
         re->kpre_hi_nid = hi_nid;
index f082415..b5bab2c 100644 (file)
@@ -580,8 +580,10 @@ kpr_add_route (int gateway_nalid, ptl_nid_t gateway_nid,
         atomic_set (&ge->kpge_weight, 0);
 
         PORTAL_ALLOC (re, sizeof (*re));
-        if (re == NULL)
+        if (re == NULL) {
+                PORTAL_FREE (ge, sizeof (*ge));
                 return (-ENOMEM);
+        }
 
         re->kpre_lo_nid = lo_nid;
         re->kpre_hi_nid = hi_nid;