From 71ad3229f697a74bf633500200728d345be65410 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 20 Oct 2010 15:16:07 +0200 Subject: [PATCH] In rfbSendDirContent() we have to make sure to call closedir() before returning. This did not happen if rfbSendFileTransferMessage() failed. Signed-off-by: Christian Beier --- libvncserver/rfbserver.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; + } } } }