Changeset: e4c8a2dd89ac for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e4c8a2dd89ac
Modified Files:
        tools/merovingian/daemon/peering.c
Branch: Oct2014
Log Message:

Resource leak.


diffs (47 lines):

diff --git a/tools/merovingian/daemon/peering.c 
b/tools/merovingian/daemon/peering.c
--- a/tools/merovingian/daemon/peering.c
+++ b/tools/merovingian/daemon/peering.c
@@ -77,6 +77,8 @@ peeringServerThread(void *d)
                                (unsigned int)getConfNum(_mero_props, "port"));
                if (write(s, data, strlen(data)) == -1) {
                        close(s);
+                       if (masquerade)
+                               free(masquerade);
                        return;
                }
        } else if (len > 0 && strcmp(data, "proxy") == 0) {
@@ -86,6 +88,8 @@ peeringServerThread(void *d)
                                (unsigned int)getConfNum(_mero_props, "port"));
                if (write(s, data, strlen(data)) == -1) {
                        close(s);
+                       if (masquerade)
+                               free(masquerade);
                        return;
                }
        } else if (len > 0 && strcmp(data, "direct") == 0) {
@@ -93,6 +97,8 @@ peeringServerThread(void *d)
                snprintf(data, sizeof(data), "direct\n");
                if (write(s, data, strlen(data)) == -1) {
                        close(s);
+                       if (masquerade)
+                               free(masquerade);
                        return;
                }
        } else {
@@ -104,12 +110,16 @@ peeringServerThread(void *d)
                         * condition to keep fortification warnings off */
                }
                close(s);
+               if (masquerade)
+                       free(masquerade);
                return;
        }
 
        if (pipe(discreader) == -1) {
                /* bla error */
                close(s);
+               if (masquerade)
+                       free(masquerade);
                return;
        }
        registerMessageTap(discreader[0]);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to