summaryrefslogtreecommitdiffstats
path: root/source/dialogs/dmenu.c
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2016-06-21 22:40:42 +0200
committerDave Davenport <qball@gmpclient.org>2016-06-21 22:40:42 +0200
commit77a0800ccf6e76b0c843e5f01eba6d447dd57463 (patch)
tree81db7faa4351421c0ad040d42fa9088b74456d7b /source/dialogs/dmenu.c
parent5fb6ee1383ff21cfc6c46cc0514c6c86dd297c03 (diff)
Copy memory instead of mixing malloc and g_malloc'ed memories (and freeing them all with g_free)
Diffstat (limited to 'source/dialogs/dmenu.c')
-rw-r--r--source/dialogs/dmenu.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/dialogs/dmenu.c b/source/dialogs/dmenu.c
index c7b016aa..887e6a42 100644
--- a/source/dialogs/dmenu.c
+++ b/source/dialogs/dmenu.c
@@ -92,11 +92,9 @@ static char **get_dmenu ( DmenuModePrivateData *pd, FILE *fd, unsigned int *leng
data[l - 1] = '\0';
l--;
}
- data = rofi_force_utf8 ( data );
+ char *utfstr = rofi_force_utf8 ( data, l );
- retv[( *length )] = data;
- data = NULL;
- data_l = 0;
+ retv[( *length )] = utfstr;
( *length )++;
// Stop when we hit 2³¹ entries.
@@ -529,6 +527,8 @@ int dmenu_switcher_dialog ( void )
}
}
tokenize_free ( tokens );
+ dmenu_mode_free ( &dmenu_mode );
+ g_free ( input );
return TRUE;
}
// TODO remove