Fixed a few more memory leaks.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2680 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/x0vncserver/x0vncserver.cxx b/unix/x0vncserver/x0vncserver.cxx
index baf9fcc..a6bae95 100644
--- a/unix/x0vncserver/x0vncserver.cxx
+++ b/unix/x0vncserver/x0vncserver.cxx
@@ -423,8 +423,9 @@
 
   CharArray dpyStr(displayname.getData());
   if (!(dpy = XOpenDisplay(dpyStr.buf[0] ? dpyStr.buf : 0))) {
+    // FIXME: Why not vlog.error(...)?
     fprintf(stderr,"%s: unable to open display \"%s\"\r\n",
-            programName, XDisplayName(displayname.getData()));
+            programName, XDisplayName(dpyStr.buf));
     exit(1);
   }
 
@@ -450,9 +451,11 @@
     TcpListener listener((int)rfbport);
     vlog.info("Listening on port %d", (int)rfbport);
 
-    FileTcpFilter fileTcpFilter(hostsFile.getData());
-    if (strlen(hostsFile.getData()) != 0)
+    const char *hostsData = hostsFile.getData();
+    FileTcpFilter fileTcpFilter(hostsData);
+    if (strlen(hostsData) != 0)
       listener.setFilter(&fileTcpFilter);
+    delete[] hostsData;
 
     PollingScheduler sched((int)pollingCycle, (int)maxProcessorUsage);