diff options
author | Thomas Adam <thomas@xteddy.org> | 2016-09-26 12:01:12 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2016-09-26 12:01:12 +0100 |
commit | 30f2e8ff29b112b6b428d1d123187fdfd497e814 (patch) | |
tree | a080fb07fdd7ed7ba11f6412eef712f4db447720 /options.c | |
parent | cbde98f67b5f96abcd95b8560081a7664980a3cf (diff) | |
parent | 69e980602b31732348aaceee045a1901dc982d78 (diff) | |
download | rtmux-30f2e8ff29b112b6b428d1d123187fdfd497e814.tar.gz rtmux-30f2e8ff29b112b6b428d1d123187fdfd497e814.tar.bz2 rtmux-30f2e8ff29b112b6b428d1d123187fdfd497e814.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'options.c')
-rw-r--r-- | options.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -128,19 +128,23 @@ options_set_string(struct options *oo, const char *name, const char *fmt, ...) { struct options_entry *o; va_list ap; + char *s; + s = NULL; if ((o = options_find1(oo, name)) == NULL) { o = xmalloc(sizeof *o); o->name = xstrdup(name); RB_INSERT(options_tree, &oo->tree, o); memcpy(&o->style, &grid_default_cell, sizeof o->style); } else if (o->type == OPTIONS_STRING) - free(o->str); + s = o->str; va_start(ap, fmt); o->type = OPTIONS_STRING; xvasprintf(&o->str, fmt, ap); va_end(ap); + + free(s); return (o); } |