]> granicus.if.org Git - neomutt/commitdiff
lua: fix crash when setting a string
authorRichard Russon <rich@flatcap.org>
Tue, 13 Mar 2018 12:19:20 +0000 (12:19 +0000)
committerRichard Russon <rich@flatcap.org>
Wed, 14 Mar 2018 23:32:34 +0000 (23:32 +0000)
Generally, for strings `Option.var` is a `char **` (a pointer to a
string pointer).  The Lua setting code uses it differently.  There, it's
just a `char *`.

Fixes #1096

init.c

diff --git a/init.c b/init.c
index 650acf6a750c96d6c4624d9bd17d19eacc03f443..8309fd5c018882791f29319b25d701162bb6987e 100644 (file)
--- a/init.c
+++ b/init.c
@@ -460,7 +460,7 @@ int mutt_option_set(const struct Option *val, struct Buffer *err)
         /* MuttVars[idx].var is already 'char**' (or some 'void**') or...
           * so cast to 'void*' is okay */
         FREE((void *) MuttVars[idx].var);
-        *((char **) MuttVars[idx].var) = mutt_str_strdup(*(char **) val->var);
+        *((char **) MuttVars[idx].var) = mutt_str_strdup((char *) val->var);
       }
       break;
       case DT_BOOL: