From b7edc22192e7ae88584a14e8878fef9248d2b8a4 Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 8 Feb 2005 20:35:31 +0000 Subject: send nul with choice --- src/cmd/factotum/p9any.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/cmd/factotum/p9any.c') diff --git a/src/cmd/factotum/p9any.c b/src/cmd/factotum/p9any.c index 971c7e50..388ee388 100644 --- a/src/cmd/factotum/p9any.c +++ b/src/cmd/factotum/p9any.c @@ -35,7 +35,7 @@ hasnul(void *v, int n) if(n > 0 && c[n-1] == '\0') return n; else - return n+1; + return AuthRpcMax; } static int @@ -220,10 +220,14 @@ found: /* f[i] is the chosen protocol, q the chosen domain */ attr = addattr(attr, "proto=%q dom=%q", f[i], q); c->state = "write choice"; + /* have a key: go for it */ - if(convprint(c, "%q %q", f[i], q) < 0 - || convwrite(c, "\0", 1) < 0) + s = estrappend(nil, "%q %q", f[i], q); + if(convwrite(c, s, strlen(s)+1) < 0){ + free(s); goto out; + } + free(s); if(version == 2){ c->state = "read ok"; -- cgit v1.2.3