diff options
author | Frank Niessen <Frank.Niessen@rantzau.de> | 2018-07-11 14:33:41 +0300 |
---|---|---|
committer | Frank Niessen <Frank.Niessen@rantzau.de> | 2018-07-19 14:02:23 +0300 |
commit | 6a178eb4d98de4766242fc8b93c5e4d835fbcc71 (patch) | |
tree | 26f06ae44ed96800e4afbe0ce7cf9fb2f63dc0b4 | |
parent | d1dc3ef361e205b30acb6c9eccd102c844ec714a (diff) |
bugfix: set correct number of records for allocating memory
-rw-r--r-- | src/remmina_ssh_plugin.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/remmina_ssh_plugin.c b/src/remmina_ssh_plugin.c index 228e77da0..04dcace17 100644 --- a/src/remmina_ssh_plugin.c +++ b/src/remmina_ssh_plugin.c @@ -1158,10 +1158,8 @@ remmina_ssh_plugin_load_terminal_palettes(gpointer *ssh_terminal_palette_new) while ((filename = g_dir_read_name(system_data_dir))) { if (!g_file_test(filename, G_FILE_TEST_IS_DIR)) { if (g_str_has_suffix(filename, ".colors")) { - gchar *menu_str = malloc(strlen(filename) + 1); - strcpy(menu_str, filename); - char *t2 = strrchr(menu_str, '.'); - t2[0] = 0; + gsize len = strrchr(filename, '.') - filename; + gchar *menu_str = g_strndup(filename, len); if (g_list_find_custom(files, menu_str,compare) == NULL) { files = g_list_insert_sorted(files, menu_str, compare); } @@ -1235,10 +1233,11 @@ remmina_ssh_plugin_register(void) remmina_plugin_service = &remmina_plugin_manager_service; - RemminaProtocolSettingOpt *settings = malloc(sizeof(remmina_ssh_advanced_settings)); + unsigned int rec_size = sizeof(remmina_ssh_advanced_settings) / sizeof(RemminaProtocolSetting); + + RemminaProtocolSettingOpt *settings = g_new(RemminaProtocolSettingOpt, rec_size); // preset new settings with (old) static remmina_ssh_advanced_settings data - unsigned int rec_size = sizeof(remmina_ssh_advanced_settings) / sizeof(RemminaProtocolSetting); for (int ii=0; ii < rec_size; ii++) { settings[ii].type = remmina_ssh_advanced_settings[ii].type; settings[ii].name = remmina_ssh_advanced_settings[ii].name; |