X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Flib%2Fstringbuf.c;h=9bc1c8eb04aa9015ab7f5d62abdd50fe5b2d0175;hb=3c0b1d8686c302e511389e2afbbbf436af2c56e9;hp=bd67e0d48a93ad19eee581390e115d970de3ce0b;hpb=c610deab77612b51cb238f62acc87fb17726cbff;p=citadel.git diff --git a/libcitadel/lib/stringbuf.c b/libcitadel/lib/stringbuf.c index bd67e0d48..9bc1c8eb0 100644 --- a/libcitadel/lib/stringbuf.c +++ b/libcitadel/lib/stringbuf.c @@ -3955,14 +3955,17 @@ void FDIOBufferDelete(FDIOBuffer *FDB) #ifdef LINUX_SPLICE if (EnableSplice) { - close(FDB->SplicePipe[0]); - close(FDB->SplicePipe[1]); + if (FDB->SplicePipe[0] > 0) + close(FDB->SplicePipe[0]); + if (FDB->SplicePipe[1] > 0) + close(FDB->SplicePipe[1]); } else #endif FreeStrBuf(&FDB->ChunkBuffer); - close(FDB->OtherFD); + if (FDB->OtherFD > 0) + close(FDB->OtherFD); memset(FDB, 0, sizeof(FDIOBuffer)); }