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