[geany/geany-plugins] a6c0fc: Wrap Words Addon: fix an invalid memory write
Colomban Wendling
git-noreply at xxxxx
Sun Mar 18 03:41:15 UTC 2012
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Sun, 18 Mar 2012 03:41:15
Commit: a6c0fc67b0e9c5c2dd345b6348cdc4ca567a1a99
https://github.com/geany/geany-plugins/commit/a6c0fc67b0e9c5c2dd345b6348cdc4ca567a1a99
Log Message:
-----------
Wrap Words Addon: fix an invalid memory write
key_name allocation was one byte too small (missing alloc for the
trailing 0) and thus possibly leading to a crash.
Modified Paths:
--------------
addons/src/ao_wrapwords.c
Modified: addons/src/ao_wrapwords.c
15 files changed, 3 insertions(+), 12 deletions(-)
===================================================================
@@ -137,14 +137,12 @@ gboolean on_key_press (GtkWidget *widget, GdkEventKey *event, gpointer user_data
void ao_enclose_words_init (gchar *config_file_name, GeanyKeyGroup *key_group)
{
GKeyFile *config = g_key_file_new();
- gchar *key_name = g_malloc0 (9);
+ gchar key_name[] = "Enclose_x";
gint i;
config_file = g_strdup (config_file_name);
g_key_file_load_from_file (config, config_file, G_KEY_FILE_NONE, NULL);
- g_stpcpy (key_name, "Enclose_x");
-
for (i = 0; i < 8; i++)
{
key_name [8] = (gchar) (i + '0');
@@ -157,8 +155,6 @@ void ao_enclose_words_init (gchar *config_file_name, GeanyKeyGroup *key_group)
plugin_signal_connect(geany_plugin, G_OBJECT(geany->main_widgets->window), "key-press-event",
FALSE, G_CALLBACK(on_key_press), NULL);
-
- g_free (key_name);
}
void ao_enclose_words_set_enabled (gboolean enabled_w, gboolean enabled_a)
@@ -178,20 +174,16 @@ void configure_response (GtkDialog *dialog, gint response, gpointer char_tree_vi
GKeyFile *config = g_key_file_new();
gchar *config_data = NULL;
gchar *prior_char_str, *end_char_str;
- gchar *key_name = g_malloc0 (9);
+ gchar key_name[] = "Enclose_x";
gint i;
- if (response != GTK_RESPONSE_OK && response != GTK_RESPONSE_ACCEPT) {
- g_free (key_name);
+ if (response != GTK_RESPONSE_OK && response != GTK_RESPONSE_ACCEPT)
return;
- }
gtk_tree_model_get_iter_first (GTK_TREE_MODEL(chars_list), &char_iter);
g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
- g_stpcpy (key_name, "Enclose_x");
-
for (i = 0; i < 8; i++)
{
key_name [8] = (gchar) (i + '0');
@@ -211,7 +203,6 @@ void configure_response (GtkDialog *dialog, gint response, gpointer char_tree_vi
g_free (prior_char_str);
g_free (end_char_str);
g_free (config_data);
- g_free (key_name);
g_key_file_free(config);
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Plugins-Commits
mailing list