diff options
author | Jan Grulich <jgrulich@redhat.com> | 2018-11-20 10:44:39 +0100 |
---|---|---|
committer | Jan Grulich <jgrulich@redhat.com> | 2018-11-20 10:45:20 +0100 |
commit | a5720e571939ff452967cf9cdb1b7d8665708739 (patch) | |
tree | e61595aea20bf880ac0b52911a2813e110028968 /vncviewer | |
parent | 46f718f6472f87fa26633346a4b343a51b0c7f7a (diff) | |
download | tigervnc-a5720e571939ff452967cf9cdb1b7d8665708739.tar.gz tigervnc-a5720e571939ff452967cf9cdb1b7d8665708739.zip |
Fix memory leaks
Diffstat (limited to 'vncviewer')
-rw-r--r-- | vncviewer/DesktopWindow.cxx | 4 | ||||
-rw-r--r-- | vncviewer/OptionsDialog.cxx | 2 | ||||
-rw-r--r-- | vncviewer/ServerDialog.cxx | 10 | ||||
-rw-r--r-- | vncviewer/parameters.cxx | 2 | ||||
-rw-r--r-- | vncviewer/vncviewer.cxx | 2 |
5 files changed, 11 insertions, 9 deletions
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx index d070b648..1843485a 100644 --- a/vncviewer/DesktopWindow.cxx +++ b/vncviewer/DesktopWindow.cxx @@ -103,12 +103,12 @@ DesktopWindow::DesktopWindow(int w, int h, const char *name, int geom_x = 0, geom_y = 0; if (strcmp(geometry, "") != 0) { int matched; - matched = sscanf(geometry.getValueStr(), "+%d+%d", &geom_x, &geom_y); + matched = sscanf((const char*)geometry, "+%d+%d", &geom_x, &geom_y); if (matched == 2) { force_position(1); } else { int geom_w, geom_h; - matched = sscanf(geometry.getValueStr(), "%dx%d+%d+%d", &geom_w, &geom_h, &geom_x, &geom_y); + matched = sscanf((const char*)geometry, "%dx%d+%d+%d", &geom_w, &geom_h, &geom_x, &geom_y); switch (matched) { case 4: force_position(1); diff --git a/vncviewer/OptionsDialog.cxx b/vncviewer/OptionsDialog.cxx index b018c95b..62b5d9c5 100644 --- a/vncviewer/OptionsDialog.cxx +++ b/vncviewer/OptionsDialog.cxx @@ -282,7 +282,7 @@ void OptionsDialog::loadOptions(void) /* Screen */ int width, height; - if (sscanf(desktopSize.getValueStr(), "%dx%d", &width, &height) != 2) { + if (sscanf((const char*)desktopSize, "%dx%d", &width, &height) != 2) { desktopSizeCheckbox->value(false); desktopWidthInput->value("1024"); desktopHeightInput->value("768"); diff --git a/vncviewer/ServerDialog.cxx b/vncviewer/ServerDialog.cxx index de67f87b..fec17896 100644 --- a/vncviewer/ServerDialog.cxx +++ b/vncviewer/ServerDialog.cxx @@ -150,7 +150,7 @@ void ServerDialog::handleLoad(Fl_Widget *widget, void *data) return; } - const char* filename = strdup(file_chooser->value()); + const char* filename = file_chooser->value(); try { dialog->serverName->value(loadViewerParameters(filename)); @@ -165,8 +165,8 @@ void ServerDialog::handleLoad(Fl_Widget *widget, void *data) void ServerDialog::handleSaveAs(Fl_Widget *widget, void *data) { ServerDialog *dialog = (ServerDialog*)data; - const char* servername = strdup(dialog->serverName->value()); - char* filename; + const char* servername = dialog->serverName->value(); + const char* filename; Fl_File_Chooser* file_chooser = new Fl_File_Chooser("", _("TigerVNC configuration (*.tigervnc)"), 2, _("Save the TigerVNC configuration to file")); @@ -187,7 +187,7 @@ void ServerDialog::handleSaveAs(Fl_Widget *widget, void *data) return; } - filename = strdup(file_chooser->value()); + filename = file_chooser->value(); FILE* f = fopen(filename, "r"); if (f) { @@ -235,7 +235,7 @@ void ServerDialog::handleCancel(Fl_Widget *widget, void *data) void ServerDialog::handleConnect(Fl_Widget *widget, void *data) { ServerDialog *dialog = (ServerDialog*)data; - const char* servername = strdup(dialog->serverName->value()); + const char* servername = dialog->serverName->value(); dialog->hide(); diff --git a/vncviewer/parameters.cxx b/vncviewer/parameters.cxx index 51cce3d7..94cc1b05 100644 --- a/vncviewer/parameters.cxx +++ b/vncviewer/parameters.cxx @@ -499,6 +499,7 @@ void saveViewerParameters(const char *filename, const char *servername) { } snprintf(filepath, sizeof(filepath), "%sdefault.tigervnc", homeDir); + free(homeDir); } else { snprintf(filepath, sizeof(filepath), "%s", filename); } @@ -555,6 +556,7 @@ char* loadViewerParameters(const char *filename) { "can't obtain home directory path.")); snprintf(filepath, sizeof(filepath), "%sdefault.tigervnc", homeDir); + free(homeDir); } else { snprintf(filepath, sizeof(filepath), "%s", filename); } diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx index f076565f..a9d4dfea 100644 --- a/vncviewer/vncviewer.cxx +++ b/vncviewer/vncviewer.cxx @@ -470,9 +470,9 @@ static int mktunnel() int localPort = findFreeTcpPort(); int remotePort; - gatewayHost = strDup(via.getValueStr()); if (interpretViaParam(remoteHost, &remotePort, localPort) != 0) return 1; + gatewayHost = (const char*)via; createTunnel(gatewayHost, remoteHost, remotePort, localPort); return 0; |