(svcudp_enablecache): Free memory in error cases.
authordrepper <drepper>
Fri, 7 Apr 2006 02:14:31 +0000 (02:14 +0000)
committerdrepper <drepper>
Fri, 7 Apr 2006 02:14:31 +0000 (02:14 +0000)
sunrpc/svc_udp.c

index c0c115a..390d782 100644 (file)
@@ -485,6 +485,7 @@ svcudp_enablecache (SVCXPRT *transp, u_long size)
   uc->uc_entries = ALLOC (cache_ptr, size * SPARSENESS);
   if (uc->uc_entries == NULL)
     {
+      mem_free (uc);
       CACHE_PERROR (_("enablecache: could not allocate cache data"));
       return 0;
     }
@@ -492,6 +493,8 @@ svcudp_enablecache (SVCXPRT *transp, u_long size)
   uc->uc_fifo = ALLOC (cache_ptr, size);
   if (uc->uc_fifo == NULL)
     {
+      mem_free (uc->uc_entries);
+      mem_free (uc);
       CACHE_PERROR (_("enablecache: could not allocate cache fifo"));
       return 0;
     }