From: Adrian S. <a3s...@us...> - 2005-04-25 23:21:36
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30689 Modified Files: providerMgr.c Log Message: Fixed 1184962. Incorrect free() in providerMgr.c Index: providerMgr.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerMgr.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- providerMgr.c 13 Apr 2005 15:15:42 -0000 1.5 +++ providerMgr.c 25 Apr 2005 23:21:28 -0000 1.6 @@ -840,7 +840,7 @@ unsigned long size = ctx->bHdrSize; char *buf; BinRequestHdr *hdr = ctx->bHdr; - BinResponseHdr *resp; + BinResponseHdr *resp=NULL; int fromS; void *heapCtl=markHeap(); @@ -921,8 +921,8 @@ void *hc=markHeap(); if (resp) free(resp); + resp=NULL; spRecvResult(&resultSockets.receive, &fromS, (void**) &resp, &size); -// dump("result: ",resp,size); //asm("int $3"); for (i = 0; i < resp->count; i++) { resp->object[i].data=(void*)((int)resp->object[i].data+(char*)resp); } @@ -936,7 +936,8 @@ releaseHeap(hc); } while (resp->moreChunks); - if (resp) free(resp); +// if (resp) free(resp); +// resp=NULL; } else if ((ctx->noResp & 1)==0) { |