[geany/geany-plugins] b7b467: debugger: Consolidate code for selecting the target file
Colomban Wendling
git-noreply at xxxxx
Sun Nov 15 17:28:19 UTC 2015
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Sat, 25 Oct 2014 15:46:50 UTC
Commit: b7b4677d6ba5b3d27aeecae613bccd465b2b1335
https://github.com/geany/geany-plugins/commit/b7b4677d6ba5b3d27aeecae613bccd465b2b1335
Log Message:
-----------
debugger: Consolidate code for selecting the target file
This fixes a leak, a possible NULL-pointer dereference and buffer
overflows.
Modified Paths:
--------------
debugger/src/tpage.c
Modified: debugger/src/tpage.c
17 lines changed, 9 insertions(+), 8 deletions(-)
===================================================================
@@ -97,10 +97,10 @@ static void on_arguments_changed(GtkTextBuffer *textbuffer, gpointer user_data)
*/
static void on_target_browse_clicked(GtkButton *button, gpointer user_data)
{
- gchar path[FILENAME_MAX];
+ gchar *path;
const gchar *prevfile;
- gchar *prevdir;
GtkWidget *dialog;
+ GeanyDocument *doc;
dialog = gtk_file_chooser_dialog_new (_("Choose target file"),
NULL,
@@ -110,14 +110,15 @@ static void on_target_browse_clicked(GtkButton *button, gpointer user_data)
NULL);
prevfile = gtk_entry_get_text(GTK_ENTRY(target_name));
- prevdir = g_path_get_dirname(prevfile);
- if (strcmp(".", prevdir))
- strcpy(path, prevdir);
- else
- strcpy(path, g_path_get_dirname(DOC_FILENAME(document_get_current())));
- g_free(prevdir);
+ path = g_path_get_dirname(prevfile);
+ if (strcmp(".", path) == 0 && (doc = document_get_current()) != NULL)
+ {
+ g_free(path);
+ path = g_path_get_dirname(DOC_FILENAME(doc));
+ }
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (dialog), path);
+ g_free(path);
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
{
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list