Fossil SCM

Fixed a memleak in the th1 variadic proc args support.

stephan 2012-07-22 16:54 th1-query-api
Commit bee00366812f437af172118505a72f5cca76053c
1 file changed +3
--- src/th_lang.c
+++ src/th_lang.c
@@ -371,10 +371,13 @@
371371
int nArgs = 0;
372372
for(i=p->nParam+1; i<pArgs->argc; i++){
373373
Th_ListAppend(interp, &zArgs, &nArgs, pArgs->argv[i], pArgs->argl[i]);
374374
}
375375
Th_SetVar(interp, (const char *)"args", -1, zArgs, nArgs);
376
+ if(zArgs){
377
+ Th_Free(interp, zArgs);
378
+ }
376379
}
377380
378381
Th_SetResult(interp, 0, 0);
379382
return Th_Eval(interp, 0, p->zProgram, p->nProgram);
380383
}
381384
--- src/th_lang.c
+++ src/th_lang.c
@@ -371,10 +371,13 @@
371 int nArgs = 0;
372 for(i=p->nParam+1; i<pArgs->argc; i++){
373 Th_ListAppend(interp, &zArgs, &nArgs, pArgs->argv[i], pArgs->argl[i]);
374 }
375 Th_SetVar(interp, (const char *)"args", -1, zArgs, nArgs);
 
 
 
376 }
377
378 Th_SetResult(interp, 0, 0);
379 return Th_Eval(interp, 0, p->zProgram, p->nProgram);
380 }
381
--- src/th_lang.c
+++ src/th_lang.c
@@ -371,10 +371,13 @@
371 int nArgs = 0;
372 for(i=p->nParam+1; i<pArgs->argc; i++){
373 Th_ListAppend(interp, &zArgs, &nArgs, pArgs->argv[i], pArgs->argl[i]);
374 }
375 Th_SetVar(interp, (const char *)"args", -1, zArgs, nArgs);
376 if(zArgs){
377 Th_Free(interp, zArgs);
378 }
379 }
380
381 Th_SetResult(interp, 0, 0);
382 return Th_Eval(interp, 0, p->zProgram, p->nProgram);
383 }
384

Keyboard Shortcuts

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