chiark / gitweb /
site: promote creation of st->scratch
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 30 Dec 2021 02:23:14 +0000 (02:23 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 30 Dec 2021 13:38:07 +0000 (13:38 +0000)
Without this, peer keyset loading does not work after restart!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
site.c

diff --git a/site.c b/site.c
index 22cffbd82a5e543da8e62ed8ad1d1a5ed1c2e84a..89837964b757ec5b7759fbfbfeec213c4a2df0f0 100644 (file)
--- a/site.c
+++ b/site.c
@@ -2344,6 +2344,9 @@ static list_t *site_apply(closure_t *self, struct cloc loc, dict_t *context,
     st->peerkeys_tmpl.buffer=0;
     st->peerkeys_current=st->peerkeys_kex=0;
 
+    buffer_new(&st->scratch,SETUP_BUFFER_LEN);
+    BUF_ALLOC(&st->scratch,"site:scratch");
+
     /* First parameter must be a dict */
     item=list_elem(args,0);
     if (!item || item->type!=t_dict)
@@ -2508,9 +2511,6 @@ static list_t *site_apply(closure_t *self, struct cloc loc, dict_t *context,
 
     buffer_new(&st->buffer,SETUP_BUFFER_LEN);
 
-    buffer_new(&st->scratch,SETUP_BUFFER_LEN);
-    BUF_ALLOC(&st->scratch,"site:scratch");
-
     /* We are interested in poll(), but only for timeouts. We don't have
        any fds of our own. */
     register_for_poll(st, site_beforepoll, site_afterpoll, "site");