about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/config/account.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/config/account.c b/src/config/account.c
index 1fc13429..6fc80eb7 100644
--- a/src/config/account.c
+++ b/src/config/account.c
@@ -201,16 +201,12 @@ account_eval_password(ProfAccount *account)
     assert(account->eval_password != NULL);
 
     gchar **output = NULL;
-    gchar **argv = g_strsplit(account->eval_password, " ", 0);
 
+    gchar *argv[] = {"sh", "-c", account->eval_password};
     if (!call_external(argv, &output, NULL)) {
-        g_strfreev(argv);
-        argv = NULL;
         return FALSE;
     }
 
-    g_strfreev(argv);
-
     if (!output || !output[0]) {
         log_error("Failed to read eval_password output");
         g_strfreev(output);