X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fserv_networkclient.c;h=8ee884619ef2e6cac7d869acc83e90da17e0be6b;hb=1e62641ed3334a62c2bd58c537cc2a3eb75653f0;hp=174bf9daeadfd1d280f406ae2477e9a3a8f3c5c3;hpb=b6b7232c3d43b56d6606eecd9ae84a396ba8ff25;p=citadel.git diff --git a/citadel/modules/network/serv_networkclient.c b/citadel/modules/network/serv_networkclient.c index 174bf9dae..8ee884619 100644 --- a/citadel/modules/network/serv_networkclient.c +++ b/citadel/modules/network/serv_networkclient.c @@ -318,6 +318,7 @@ eNextState NWC_SendREAD(AsyncNetworker *NW) { FDIOBufferDelete(&NW->IO.IOB); unlink(ChrPtr(NW->tempFileName)); + FDIOBufferDelete(&IO->IOB); return eAbort; } StrBufPrintf(NW->IO.SendBuf.Buf, "READ %ld|%ld\n", @@ -352,6 +353,7 @@ eNextState NWC_ReadREADState(AsyncNetworker *NW) NW->IO.IOB.ChunkSize = atol(ChrPtr(NW->IO.IOBuf)+4); return eReadFile; } + FDIOBufferDelete(&IO->IOB); return eAbort; } eNextState NWC_ReadREADBlobDone(AsyncNetworker *NW); @@ -396,7 +398,6 @@ eNextState NWC_ReadREADBlobDone(AsyncNetworker *NW) NW->State ++; FDIOBufferDelete(&NW->IO.IOB); - if (link(ChrPtr(NW->tempFileName), ChrPtr(NW->SpoolFileName)) != 0) { EVN_syslog(LOG_ALERT, "Could not link %s to %s: %s\n", @@ -428,6 +429,7 @@ eNextState NWC_ReadCLOSReply(AsyncNetworker *NW) { AsyncIO *IO = &NW->IO; NWC_DBG_READ(); + FDIOBufferDelete(&IO->IOB); if (ChrPtr(NW->IO.IOBuf)[0] != '2') return eTerminateConnection; return eSendReply; @@ -476,6 +478,7 @@ eNextState NWC_SendNUOP(AsyncNetworker *NW) NW->State = eQUIT; rc = NWC_SendQUIT(NW); NWC_DBG_SEND(); + if (fd > 0) close(fd); return rc; } FDIOBufferInit(&NW->IO.IOB, &NW->IO.SendBuf, fd, TotalSendSize); @@ -489,8 +492,10 @@ eNextState NWC_ReadNUOPReply(AsyncNetworker *NW) { AsyncIO *IO = &NW->IO; NWC_DBG_READ(); - if (ChrPtr(NW->IO.IOBuf)[0] != '2') + if (ChrPtr(NW->IO.IOBuf)[0] != '2') { + FDIOBufferDelete(&IO->IOB); return eAbort; + } return eSendReply; } @@ -508,6 +513,7 @@ eNextState NWC_ReadWRITReply(AsyncNetworker *NW) NWC_DBG_READ(); if (ChrPtr(NW->IO.IOBuf)[0] != '7') { + FDIOBufferDelete(&IO->IOB); return eAbort; } @@ -556,6 +562,7 @@ eNextState NWC_ReadUCLS(AsyncNetworker *NW) EVN_syslog(LOG_DEBUG, "Removing <%s>\n", ChrPtr(NW->SpoolFileName)); unlink(ChrPtr(NW->SpoolFileName)); } + FDIOBufferDelete(&IO->IOB); return eSendReply; }