Internal plugin initalizers must now be prefixed with wofi_. This prevents using map, wl_list, wofi, and other mode strings to segfault wofi

This commit is contained in:
Scoopta 2019-11-04 13:25:44 -08:00
parent 97dd534c97
commit 5bb351d450
4 changed files with 8 additions and 8 deletions

View File

@ -17,7 +17,7 @@
#include <wofi.h>
void dmenu_init() {
void wofi_dmenu_init() {
struct map* cached = map_init();
struct wl_list* cache = wofi_read_cache("dmenu");
@ -48,11 +48,11 @@ void dmenu_init() {
map_free(cached);
}
void dmenu_exec(const gchar* cmd) {
void wofi_dmenu_exec(const gchar* cmd) {
printf("%s\n", cmd);
exit(0);
}
bool dmenu_exec_search() {
bool wofi_dmenu_exec_search() {
return true;
}

View File

@ -99,7 +99,7 @@ static void insert_dir(char* app_dir, struct map* cached, struct map* entries) {
closedir(dir);
}
void drun_init() {
void wofi_drun_init() {
struct map* cached = map_init();
struct map* entries = map_init();
struct wl_list* cache = wofi_read_cache("drun");
@ -160,7 +160,7 @@ static void launch_done(GObject* obj, GAsyncResult* result, gpointer data) {
}
}
void drun_exec(const gchar* cmd) {
void wofi_drun_exec(const gchar* cmd) {
GDesktopAppInfo* info = g_desktop_app_info_new_from_filename(cmd);
if(G_IS_DESKTOP_APP_INFO(info)) {
g_app_info_launch_uris_async(G_APP_INFO(info), NULL, NULL, NULL, launch_done, (gchar*) cmd);

View File

@ -17,7 +17,7 @@
#include <wofi.h>
void run_init() {
void wofi_run_init() {
struct map* cached = map_init();
struct wl_list* cache = wofi_read_cache("run");
@ -66,7 +66,7 @@ void run_init() {
map_free(cached);
}
void run_exec(const gchar* cmd) {
void wofi_run_exec(const gchar* cmd) {
if(wofi_run_in_term()) {
wofi_term_run(cmd);
}

View File

@ -394,7 +394,7 @@ static gboolean key_press(GtkWidget* widget, GdkEvent* event, gpointer data) {
}
static void* get_plugin_proc(const char* prefix, const char* suffix) {
char* proc_name = utils_concat(2, prefix, suffix);
char* proc_name = utils_concat(3, "wofi_", prefix, suffix);
void* proc = dlsym(RTLD_DEFAULT, proc_name);
free(proc_name);
return proc;