patches/fossil-remove-uaf.diff (310 bytes)
1 --- a/src/cmd/fossil/file.c 2 +++ b/src/cmd/fossil/file.c 3 @@ -1239,8 +1239,8 @@ 4 for(ff=f->down; ff; ff=ff->next) 5 assert(ff->removed); 6 7 - sourceRemove(f->source); 8 f->source->file = nil; /* erase back pointer */ 9 + sourceRemove(f->source); 10 f->source = nil; 11 if(f->msource){ 12 sourceRemove(f->msource);