diff options
author | Dave Davenport <qball@blame.services> | 2021-09-06 21:26:04 +0200 |
---|---|---|
committer | Dave Davenport <qball@blame.services> | 2021-09-06 21:26:04 +0200 |
commit | 294a22f3dde28e44df9a1772ea7c7b685a3c8edf (patch) | |
tree | 66a610509c7564c4f5eda888cb02ae8f490dec85 | |
parent | c63e03fd49882c1d80f21461a99d429b122d0a08 (diff) |
Fix some memory leaks.
-rw-r--r-- | lexer/theme-lexer.l | 3 | ||||
-rw-r--r-- | lexer/theme-parser.y | 4 | ||||
-rw-r--r-- | source/dialogs/drun.c | 1 | ||||
-rw-r--r-- | source/dialogs/filebrowser.c | 1 | ||||
-rw-r--r-- | source/dialogs/run.c | 1 |
5 files changed, 10 insertions, 0 deletions
diff --git a/lexer/theme-lexer.l b/lexer/theme-lexer.l index 23abab2b..de7e9d26 100644 --- a/lexer/theme-lexer.l +++ b/lexer/theme-lexer.l @@ -726,6 +726,7 @@ if ( queue == NULL ) { if ( po->type == PT_STRING_ALLOC ) { g_free( po->malloc_str); } + g_free ( po->filename ); g_free ( po ); } po = g_queue_peek_head ( file_queue ); @@ -874,6 +875,7 @@ gboolean rofi_theme_parse_file ( const char *file ) if ( po->type == PT_STRING_ALLOC ) { g_free( po->malloc_str); } + g_free ( po->filename ); g_free ( po ); } } @@ -910,6 +912,7 @@ gboolean rofi_theme_parse_string ( const char *string ) if ( po->type == PT_STRING_ALLOC ) { g_free( po->malloc_str); } + g_free ( po->filename ); g_free ( po ); } } diff --git a/lexer/theme-parser.y b/lexer/theme-parser.y index cdef6421..74efeb53 100644 --- a/lexer/theme-parser.y +++ b/lexer/theme-parser.y @@ -322,6 +322,7 @@ t_main ThemeWidget *d = $2->widgets[i]; rofi_theme_parse_merge_widgets(rofi_theme, d); } + rofi_theme_free ( $2 ); } ; @@ -392,6 +393,7 @@ t_entry_list: ThemeWidget *d = $9->widgets[i]; rofi_theme_parse_merge_widgets(widget, d); } + g_free ( $4 ); g_free ( name ); } | t_entry_list T_MEDIA T_PARENT_LEFT T_STRING T_PSEP T_DOUBLE T_PARENT_RIGHT T_BOPEN t_entry_list T_BCLOSE { @@ -405,6 +407,7 @@ t_entry_list: ThemeWidget *d = $9->widgets[i]; rofi_theme_parse_merge_widgets(widget, d); } + g_free ( $4 ); g_free ( name ); } | t_entry_list T_MEDIA T_PARENT_LEFT T_STRING T_PSEP T_INT T_UNIT_PX T_PARENT_RIGHT T_BOPEN t_entry_list T_BCLOSE { @@ -418,6 +421,7 @@ t_entry_list: ThemeWidget *d = $10->widgets[i]; rofi_theme_parse_merge_widgets(widget, d); } + g_free ( $4 ); g_free ( name ); } ; diff --git a/source/dialogs/drun.c b/source/dialogs/drun.c index d79cf677..2c474d86 100644 --- a/source/dialogs/drun.c +++ b/source/dialogs/drun.c @@ -1259,6 +1259,7 @@ static void drun_mode_destroy(Mode *sw) { g_free(rmpd->old_completer_input); g_free(rmpd->old_input); mode_destroy(rmpd->completer); + g_free(rmpd->completer); g_strfreev(rmpd->current_desktop_list); g_strfreev(rmpd->show_categories); diff --git a/source/dialogs/filebrowser.c b/source/dialogs/filebrowser.c index e4e0d68e..3a90d272 100644 --- a/source/dialogs/filebrowser.c +++ b/source/dialogs/filebrowser.c @@ -300,6 +300,7 @@ static void get_file_browser(Mode *sw) { } closedir(dir); } + g_free(cdir); g_qsort_with_data(pd->array, pd->array_length, sizeof(FBFile), compare, NULL); } diff --git a/source/dialogs/run.c b/source/dialogs/run.c index b0844c1c..58c31b98 100644 --- a/source/dialogs/run.c +++ b/source/dialogs/run.c @@ -401,6 +401,7 @@ static void run_mode_destroy(Mode *sw) { g_free(rmpd->old_input); g_free(rmpd->old_completer_input); mode_destroy(rmpd->completer); + g_free(rmpd->completer); g_free(rmpd); sw->private_data = NULL; } |