[jbossnative-commits] JBoss Native SVN: r996 - trunk/sight/native/os/windows.

jbossnative-commits at lists.jboss.org jbossnative-commits at lists.jboss.org
Sun Sep 9 05:57:17 EDT 2007


Author: mladen.turk at jboss.com
Date: 2007-09-09 05:57:16 -0400 (Sun, 09 Sep 2007)
New Revision: 996

Modified:
   trunk/sight/native/os/windows/udpstat.c
Log:
Check for memory failures

Modified: trunk/sight/native/os/windows/udpstat.c
===================================================================
--- trunk/sight/native/os/windows/udpstat.c	2007-09-09 09:52:24 UTC (rev 995)
+++ trunk/sight/native/os/windows/udpstat.c	2007-09-09 09:57:16 UTC (rev 996)
@@ -179,16 +179,15 @@
 
     if (type == 0) {
         DWORD dwSize = 0;
-        e->p = malloc(sizeof(MIB_UDPTABLE));
+
+        if (!(e->p = sight_calloc(_E, sizeof(MIB_UDPTABLE),
+                                  THROW_FMARK)))
+            goto cleanup;
         rc = GetUdpTable(e->p, &dwSize, TRUE);
         if (rc == ERROR_INSUFFICIENT_BUFFER) {
             free(e->p);
-            e->p = malloc(dwSize);
-            if (!e->p) {
-                throwAprMemoryException(_E, THROW_FMARK,
-                                        apr_get_os_error());
+            if (!(e->p = sight_calloc(_E, dwSize, THROW_FMARK)))
                 goto cleanup;
-            }
         }
         else if (rc != NO_ERROR) {
             throwAprException(_E, APR_FROM_OS_ERROR(rc));
@@ -203,17 +202,15 @@
     }
     else if (type == 1) {
         DWORD dwSize = 0;
-        e->p = malloc(sizeof(MIB_UDPTABLE_OWNER_MODULE));
+        if (!(e->p = sight_calloc(_E, sizeof(MIB_UDPTABLE_OWNER_MODULE),
+                                  THROW_FMARK)))
+            goto cleanup;
         rc = GetExtendedUdpTable(e->p, &dwSize, TRUE, AF_INET,
                                  UDP_TABLE_OWNER_MODULE, 0);
         if (rc == ERROR_INSUFFICIENT_BUFFER) {
             free(e->p);
-            e->p = malloc(dwSize);
-            if (!e->p) {
-                throwAprMemoryException(_E, THROW_FMARK,
-                                        apr_get_os_error());
+            if (!(e->p = sight_calloc(_E, dwSize, THROW_FMARK)))
                 goto cleanup;
-            }
         }
         else if (rc != NO_ERROR) {
             throwAprException(_E, APR_FROM_OS_ERROR(rc));
@@ -229,18 +226,17 @@
     }
     else if (type == 2) {
         DWORD dwSize = 0;
-        e->p = malloc(sizeof(MIB_UDP6TABLE_OWNER_MODULE));
+        if (!(e->p = sight_calloc(_E, sizeof(MIB_UDP6TABLE_OWNER_MODULE),
+                                  THROW_FMARK)))
+            goto cleanup;
+
         rc = GetExtendedUdpTable(e->p, &dwSize, TRUE, AF_INET6,
                                  UDP_TABLE_OWNER_MODULE, 0);
         dwSize = dwSize << 2;
         if (rc == ERROR_INSUFFICIENT_BUFFER) {
             free(e->p);
-            e->p = malloc(dwSize);
-            if (!e->p) {
-                throwAprMemoryException(_E, THROW_FMARK,
-                                        apr_get_os_error());
+            if (!(e->p = sight_calloc(_E, dwSize, THROW_FMARK)))
                 goto cleanup;
-            }
         }
         else if (rc != NO_ERROR) {
             throwAprException(_E, APR_FROM_OS_ERROR(rc));




More information about the jbossnative-commits mailing list