Changeset: 06126c783aaf for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=06126c783aaf
Modified Files:
        tools/merovingian/ChangeLog.Jul2012
        tools/merovingian/daemon/discoveryrunner.c
Branch: Jul2012
Log Message:

removeRemoteDB: fix crash when removing the only db in the list

linked lists can be hard sometimes :(

Fix crash observed in bug #3135.  The first (and only) database in the
remote list was removed and lead to a segfault due to a logic error.


diffs (29 lines):

diff --git a/tools/merovingian/ChangeLog.Jul2012 
b/tools/merovingian/ChangeLog.Jul2012
--- a/tools/merovingian/ChangeLog.Jul2012
+++ b/tools/merovingian/ChangeLog.Jul2012
@@ -1,6 +1,9 @@
 # ChangeLog file for sql/src/backends/monet5/merovingian
 # This file is updated with mchangelog
 
+* Thu Aug  2 2012 Fabian Groffen <[email protected]>
+- Fixed a crash of monetdbd when local databases were unshared, bug #3135
+
 * Wed Jul 18 2012 Fabian Groffen <[email protected]>
 - Resolved a problem where automatic starting of a database initiated by
   multiple clients at the same time could cause failed starts.  Bug #3107
diff --git a/tools/merovingian/daemon/discoveryrunner.c 
b/tools/merovingian/daemon/discoveryrunner.c
--- a/tools/merovingian/daemon/discoveryrunner.c
+++ b/tools/merovingian/daemon/discoveryrunner.c
@@ -94,7 +94,11 @@ removeRemoteDB(const char *dbname, const
                        /* in the future, there may be more, so keep looking */
                }
                prv = rdb;
-               rdb = rdb->next;
+               if (rdb == NULL) {
+                       rdb = _mero_remotedbs;
+               } else {
+                       rdb = rdb->next;
+               }
        }
 
        pthread_mutex_unlock(&_mero_remotedb_lock);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to