Do _copy_ the strings from the config object.
authorLinus Nordberg <linus@nordu.net>
Fri, 4 Mar 2011 12:00:42 +0000 (13:00 +0100)
committerLinus Nordberg <linus@nordu.net>
Fri, 4 Mar 2011 12:00:42 +0000 (13:00 +0100)
lib/conf.c

index adbda25..ff225ce 100644 (file)
@@ -98,10 +98,10 @@ rs_context_read_config(struct rs_context *ctx, const char *config_file)
       r->timeout = cfg_getint (cfg_config, "timeout");
       r->retries = cfg_getint (cfg_config, "retries");
 
-      r->cacertfile = cfg_getstr (cfg_config, "cacertfile");
-      /*r->cacertpath = cfg_getstr (cfg_config, "cacertpath");*/
-      r->certfile = cfg_getstr (cfg_config, "certfile");
-      r->certkeyfile = cfg_getstr (cfg_config, "certkeyfile");
+      r->cacertfile = strdup (cfg_getstr (cfg_config, "cacertfile"));
+      /*r->cacertpath = strdup (cfg_getstr (cfg_config, "cacertpath"));*/
+      r->certfile = strdup (cfg_getstr (cfg_config, "certfile"));
+      r->certkeyfile = strdup (cfg_getstr (cfg_config, "certkeyfile"));
 
       /* Add peers, one per server stanza.  */
       for (j = 0; j < cfg_size (cfg_config, "server"); j++)