diff options
author | dscho <dscho> | 2005-12-07 18:35:48 +0000 |
---|---|---|
committer | dscho <dscho> | 2005-12-07 18:35:48 +0000 |
commit | 61204490ce0931b6593bbf8c84647b0a9200a3e5 (patch) | |
tree | 7605ef581d608b7934d97e98328d524184585b77 /libvncclient | |
parent | 6a7736f87a7e6f2f7bb6ea02692bf2a3b704caf8 (diff) | |
download | libvncserver-61204490ce0931b6593bbf8c84647b0a9200a3e5.zip libvncserver-61204490ce0931b6593bbf8c84647b0a9200a3e5.tar.gz |
plug memory leaks
Diffstat (limited to 'libvncclient')
-rw-r--r-- | libvncclient/vncviewer.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/libvncclient/vncviewer.c b/libvncclient/vncviewer.c index 31b4d3d..5ef2d9a 100644 --- a/libvncclient/vncviewer.c +++ b/libvncclient/vncviewer.c @@ -159,12 +159,10 @@ rfbClient* rfbGetClient(int bitsPerSample,int samplesPerPixel, client->decompStreamInited = FALSE; #endif -#ifdef LIBVNCSERVER_HAVE_LIBZ #ifdef LIBVNCSERVER_HAVE_LIBJPEG memset(client->zlibStreamActive,0,sizeof(rfbBool)*4); client->jpegSrcManager = NULL; #endif -#endif client->HandleCursorPos = DummyPoint; client->SoftCursorLockArea = DummyRect; @@ -254,6 +252,23 @@ rfbBool rfbInitClient(rfbClient* client,int* argc,char** argv) { } void rfbClientCleanup(rfbClient* client) { + int i; + + for ( i = 0; i < 4; i++ ) { + if (client->zlibStreamActive[i] == TRUE ) { + if (inflateEnd (&client->zlibStream[i]) != Z_OK && + client->zlibStream[i].msg != NULL) + rfbClientLog("inflateEnd: %s\n", client->zlibStream[i].msg); + } + } + + if ( client->decompStreamInited == TRUE ) { + if (inflateEnd (&client->decompStream) != Z_OK && + client->decompStream.msg != NULL) + rfbClientLog("inflateEnd: %s\n", client->decompStream.msg ); + } + + free(client->desktopName); free(client->serverHost); free(client); } |