summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Davenport <qball@blame.services>2021-09-06 21:26:04 +0200
committerDave Davenport <qball@blame.services>2021-09-06 21:26:04 +0200
commit294a22f3dde28e44df9a1772ea7c7b685a3c8edf (patch)
tree66a610509c7564c4f5eda888cb02ae8f490dec85
parentc63e03fd49882c1d80f21461a99d429b122d0a08 (diff)
Fix some memory leaks.
-rw-r--r--lexer/theme-lexer.l3
-rw-r--r--lexer/theme-parser.y4
-rw-r--r--source/dialogs/drun.c1
-rw-r--r--source/dialogs/filebrowser.c1
-rw-r--r--source/dialogs/run.c1
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;
}