summaryrefslogtreecommitdiff
path: root/sys/src/cmd/auth
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-12-04 19:34:36 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2018-12-04 19:34:36 +0100
commit79bfff6437def01409c373f3e053d092d84ad20e (patch)
tree6cbf823a66844a7b0dccd28a6ca6a8743adf4b38 /sys/src/cmd/auth
parentc5393d612fd2a0e4ff3f9557dcb6adb2ad27391f (diff)
factotum: rsa: use mptober() to get right adjusted result instead of mptobe() and memset()
Diffstat (limited to 'sys/src/cmd/auth')
-rw-r--r--sys/src/cmd/auth/factotum/rsa.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/src/cmd/auth/factotum/rsa.c b/sys/src/cmd/auth/factotum/rsa.c
index 596f19e26..c1d659f39 100644
--- a/sys/src/cmd/auth/factotum/rsa.c
+++ b/sys/src/cmd/auth/factotum/rsa.c
@@ -131,7 +131,7 @@ rsaread(Fsstate *fss, void *va, uint *n)
State *s;
mpint *m;
Keyinfo ki;
- int len, r;
+ int len;
s = fss->ps;
switch(fss->phase){
@@ -160,13 +160,9 @@ rsaread(Fsstate *fss, void *va, uint *n)
len = (mpsignif(priv->pub.n)+7)/8;
if(len > *n)
return failure(fss, "signature buffer too short");
- m = rsadecrypt(priv, s->digest, nil);
- r = mptobe(m, (uchar*)va, len, nil);
- if(r < len){
- memmove((uchar*)va+len-r, va, r);
- memset(va, 0, len-r);
- }
*n = len;
+ m = rsadecrypt(priv, s->digest, nil);
+ mptober(m, (uchar*)va, len);
mpfree(m);
fss->phase = Established;
return RpcOk;