From a3c9a81e53cb2b9aa104144d0c236128988478ae Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Sun, 12 May 2013 13:58:37 +0000 Subject: [PATCH] move allocation of initial userdata memory block out of the loop, better error --- main.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/main.cpp b/main.cpp index 8f05feb..4f0064f 100644 --- a/main.cpp +++ b/main.cpp @@ -147,6 +147,7 @@ int main (int argc, char** argv) alarm (refreshdelay); fprintf(stderr, "Waiting for first packet to arrive (see sourceforge.net bug 1019381)\n"); + struct dpargs * userdata = (dpargs *) malloc (sizeof (struct dpargs)); // Main loop: // @@ -159,19 +160,17 @@ int main (int argc, char** argv) handle * current_handle = handles; while (current_handle != NULL) { - struct dpargs * userdata = (dpargs *) malloc (sizeof (struct dpargs)); userdata->sa_family = AF_UNSPEC; currentdevice = current_handle->devicename; int retval = dp_dispatch (current_handle->content, -1, (u_char *)userdata, sizeof (struct dpargs)); - if (retval == -1 || retval == -2) + if (retval < 0) { - std::cerr << "Error dispatching" << std::endl; + std::cerr << "Error dispatching: " << retval << std::endl; } else if (retval != 0) { packets_read = true; } - free (userdata); current_handle = current_handle->next; }