Changeset: 23e01c3b4118 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=23e01c3b4118
Modified Files:
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_dataflow.c
        monetdb5/mal/mal_debugger.c
        monetdb5/modules/mal/mdb.c
Branch: Feb2013
Log Message:

Fix some bounds checking.


diffs (66 lines):

diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c
--- a/monetdb5/mal/mal_client.c
+++ b/monetdb5/mal/mal_client.c
@@ -171,7 +171,7 @@ MCnewClient(void)
 Client
 MCgetClient(int id)
 {
-       if (id < 0 || id > MAL_MAXCLIENTS)
+       if (id < 0 || id >= MAL_MAXCLIENTS)
                return NULL;
        return mal_clients + id;
 }
@@ -435,7 +435,7 @@ MCcleanupClients(void)
 str
 MCsuspendClient(int id)
 {
-       if (id < 0 || id > MAL_MAXCLIENTS)
+       if (id < 0 || id >= MAL_MAXCLIENTS)
                throw(INVCRED, "mal.clients", INVCRED_WRONG_ID);
        mal_clients[id].itrace = 'S';
        return MAL_SUCCEED;
@@ -444,7 +444,7 @@ MCsuspendClient(int id)
 str
 MCawakeClient(int id)
 {
-       if (id < 0 || id > MAL_MAXCLIENTS)
+       if (id < 0 || id >= MAL_MAXCLIENTS)
                throw(INVCRED, "mal.clients", INVCRED_WRONG_ID);
        mal_clients[id].itrace = 0;
        return MAL_SUCCEED;
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -373,7 +373,7 @@ DFLOWinitialize(void)
                        break;
                }
        MT_lock_unset(&mal_contextLock, "DFLOWinitialize");
-       if (grp > THREADS) {
+       if (grp >= MAXQ) {
                // continue non-parallel
                return -1;
        }
diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c
--- a/monetdb5/mal/mal_debugger.c
+++ b/monetdb5/mal/mal_debugger.c
@@ -1275,7 +1275,7 @@ mdbTrapClient(Client cntxt, MalBlkPtr mb
 
        (void) cntxt;
        (void) mb;
-       if (id < 0 || id > MAL_MAXCLIENTS || mal_clients[id].mode == 0)
+       if (id < 0 || id >= MAL_MAXCLIENTS || mal_clients[id].mode == 0)
                throw(INVCRED, "mdb.grab", INVCRED_WRONG_ID);
        c = mal_clients + id;
 
diff --git a/monetdb5/modules/mal/mdb.c b/monetdb5/modules/mal/mdb.c
--- a/monetdb5/modules/mal/mdb.c
+++ b/monetdb5/modules/mal/mdb.c
@@ -107,7 +107,7 @@ MDBstart(Client cntxt, MalBlkPtr mb, Mal
        if( p->argc == 2){
                /* debug running process */
                pid = *(int *) getArgReference(stk, p, 1);
-               if( pid< 0 || pid > MAL_MAXCLIENTS || mal_clients[pid].mode <= 
FINISHING)
+               if( pid< 0 || pid >= MAL_MAXCLIENTS || mal_clients[pid].mode <= 
FINISHING)
                        throw(MAL, "mdb.start", ILLEGAL_ARGUMENT " Illegal 
process id");
                c= mal_clients+pid;
                /* make client aware of being debugged */
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to