Fossil SCM

Fixed a segfault in proc_command() caused by invalid inspection of an empty array.

stephan 2012-07-14 19:48 th1-query-api
Commit f2d87242503d7a7dc90abf1e079af38f5aeb6b8e
1 file changed +5 -3
+5 -3
--- src/th_lang.c
+++ src/th_lang.c
@@ -467,13 +467,15 @@
467467
468468
/* If the last parameter in the parameter list is "args", then set the
469469
** ProcDefn.hasArgs flag. The "args" parameter does not require an
470470
** entry in the ProcDefn.azParam[] or ProcDefn.azDefault[] arrays.
471471
*/
472
- if( anParam[nParam-1]==4 && 0==memcmp(azParam[nParam-1], "args", 4) ){
473
- p->hasArgs = 1;
474
- nParam--;
472
+ if(nParam>0){
473
+ if( anParam[nParam-1]==4 && 0==memcmp(azParam[nParam-1], "args", 4) ){
474
+ p->hasArgs = 1;
475
+ nParam--;
476
+ }
475477
}
476478
477479
p->nParam = nParam;
478480
p->azParam = (char **)&p[1];
479481
p->anParam = (int *)&p->azParam[nParam];
480482
--- src/th_lang.c
+++ src/th_lang.c
@@ -467,13 +467,15 @@
467
468 /* If the last parameter in the parameter list is "args", then set the
469 ** ProcDefn.hasArgs flag. The "args" parameter does not require an
470 ** entry in the ProcDefn.azParam[] or ProcDefn.azDefault[] arrays.
471 */
472 if( anParam[nParam-1]==4 && 0==memcmp(azParam[nParam-1], "args", 4) ){
473 p->hasArgs = 1;
474 nParam--;
 
 
475 }
476
477 p->nParam = nParam;
478 p->azParam = (char **)&p[1];
479 p->anParam = (int *)&p->azParam[nParam];
480
--- src/th_lang.c
+++ src/th_lang.c
@@ -467,13 +467,15 @@
467
468 /* If the last parameter in the parameter list is "args", then set the
469 ** ProcDefn.hasArgs flag. The "args" parameter does not require an
470 ** entry in the ProcDefn.azParam[] or ProcDefn.azDefault[] arrays.
471 */
472 if(nParam>0){
473 if( anParam[nParam-1]==4 && 0==memcmp(azParam[nParam-1], "args", 4) ){
474 p->hasArgs = 1;
475 nParam--;
476 }
477 }
478
479 p->nParam = nParam;
480 p->azParam = (char **)&p[1];
481 p->anParam = (int *)&p->azParam[nParam];
482

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button