Update of /cvsroot/monetdb/sql/src/backends/monet5
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv7870

Modified Files:
        merovingian.mx 
Log Message:
Fix invalid write of size 8

U merovingian.mx
Index: merovingian.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/merovingian.mx,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- merovingian.mx      21 Apr 2008 08:19:14 -0000      1.38
+++ merovingian.mx      22 Apr 2008 19:43:07 -0000      1.39
@@ -507,10 +507,12 @@
                exit(1);
        } else if (pid > 0) {
                int i;
+               dpair pdp;
 
                /* parent: fine, let's add the pipes for this child */
                while (dp->next != NULL)
                        dp = dp->next;
+               pdp = dp;
                dp = dp->next = GDKmalloc(sizeof(struct _dpair));
                dp->fout = fdopen(pfdo[0], "r");
                fcntl(pfdo[0], F_SETFL, O_NONBLOCK);
@@ -558,7 +560,7 @@
                                        /* remove from the list again */
                                        GDKfree(dp->dbname);
                                        GDKfree(dp);
-                                       dp->next = NULL;
+                                       pdp->next = NULL;
                                        return(newErr(
                                                                "timeout when 
waiting for database '%s' to "
                                                                "open up a 
communication channel", database));
@@ -566,7 +568,7 @@
                                        /* remove from the list again */
                                        GDKfree(dp->dbname);
                                        GDKfree(dp);
-                                       dp->next = NULL;
+                                       pdp->next = NULL;
                                        return(newErr(
                                                                "database '%s' 
has crashed after starting, "
                                                                "manual 
intervention needed", database));
@@ -583,7 +585,7 @@
                                        /* remove from the list again */
                                        GDKfree(dp->dbname);
                                        GDKfree(dp);
-                                       dp->next = NULL;
+                                       pdp->next = NULL;
                                        return(newErr(
                                                                "database '%s' 
either needs a longer timeout "
                                                                "to start up, 
or appears to cleanly shut "
@@ -592,7 +594,7 @@
                                        /* remove from the list again */
                                        GDKfree(dp->dbname);
                                        GDKfree(dp);
-                                       dp->next = NULL;
+                                       pdp->next = NULL;
                                        return(newErr("unknown state: %d", 
(int)(*stats)->state));
                        }
                }


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to