diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c index 5f8d22a..b540f04 100644 --- a/libvncserver/rfbserver.c +++ b/libvncserver/rfbserver.c @@ -1244,7 +1244,11 @@ rfbBool rfbSendDirContent(rfbClientPtr cl, int length, char *buffer) /* rfbLog("rfbProcessFileTransfer() rfbDirContentRequest: rfbRDirContent: Sending \"%s\"\n", (char *)win32filename.cFileName); */ - if (rfbSendFileTransferMessage(cl, rfbDirPacket, rfbADirectory, 0, nOptLen, (char *)&win32filename)==FALSE) return FALSE; + if (rfbSendFileTransferMessage(cl, rfbDirPacket, rfbADirectory, 0, nOptLen, (char *)&win32filename)==FALSE) + { + closedir(dirp); + return FALSE; + } } } }