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

jbossnative-commits at lists.jboss.org jbossnative-commits at lists.jboss.org
Sun Sep 9 05:52:25 EDT 2007


Author: mladen.turk at jboss.com
Date: 2007-09-09 05:52:24 -0400 (Sun, 09 Sep 2007)
New Revision: 995

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

Modified: trunk/sight/native/os/windows/tcpstat.c
===================================================================
--- trunk/sight/native/os/windows/tcpstat.c	2007-09-09 09:36:15 UTC (rev 994)
+++ trunk/sight/native/os/windows/tcpstat.c	2007-09-09 09:52:24 UTC (rev 995)
@@ -250,16 +250,13 @@
 
     if (type == 0) {
         DWORD dwSize = 0;
-        e->p = malloc(sizeof(MIB_TCPTABLE));
+        if (!(e->p = sight_calloc(_E, sizeof(MIB_TCPTABLE), THROW_FMARK)))
+            goto cleanup;
         rc = GetTcpTable(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));
@@ -274,17 +271,15 @@
     }
     else if (type == 1) {
         DWORD dwSize = 0;
-        e->p = malloc(sizeof(MIB_TCPTABLE_OWNER_MODULE));
+        if (!(e->p = sight_calloc(_E, sizeof(MIB_TCPTABLE_OWNER_MODULE),
+                                  THROW_FMARK)))
+            goto cleanup;
         rc = GetExtendedTcpTable(e->p, &dwSize, TRUE, AF_INET,
                                  TCP_TABLE_OWNER_MODULE_ALL, 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));
@@ -300,21 +295,16 @@
     }
     else if (type == 2) {
         DWORD dwSize = 0;
-        if (!(e->p = malloc(sizeof(MIB_TCP6TABLE_OWNER_MODULE)))) {
-            throwAprException(_E, apr_get_os_error());
+        if (!(e->p = sight_calloc(_E, sizeof(MIB_TCP6TABLE_OWNER_MODULE),
+                                  THROW_FMARK)))
             goto cleanup;
-        }
         rc = GetExtendedTcpTable(e->p, &dwSize, TRUE, AF_INET6,
                                  TCP_TABLE_OWNER_MODULE_ALL, 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