Changeset: 6e0c95d35e1f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6e0c95d35e1f
Modified Files:
        monetdb5/mal/mal_instruction.c
Branch: default
Log Message:

A little defense against dangling refs


diffs (35 lines):

diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -629,8 +629,10 @@ setVarName(MalBlkPtr mb, int i, str nme)
 {
        char buf[IDLENGTH];
 
-       if ( mb->var[i]->name)
+       if ( mb->var[i]->name){
                GDKfree(mb->var[i]->name);
+               mb->var[i]->name = NULL;
+       }
 
        if (nme == 0) {
                snprintf(buf, IDLENGTH, "%c%d", TMPMARKER, 
mb->var[i]->tmpindex);
@@ -648,6 +650,7 @@ resetVarName(MalBlkPtr mb, int i)
        nme = mb->var[i]->name;
        if (mb->var[i]->tmpindex && nme) {
                GDKfree(nme);
+               mb->var[i]->name = NULL;
                nme = 0;
        }
 
@@ -944,8 +947,10 @@ renameVariable(MalBlkPtr mb, int id, str
        assert(id >=0 && id <mb->vtop);
        v = getVar(mb, id);
 
-       if (v->name)
+       if (v->name){
                GDKfree(v->name);
+               v->name = NULL; 
+       }
        nme= GDKmalloc(IDLENGTH);
        if( nme) {
                snprintf(nme,IDLENGTH,pattern,newid);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to