]> git.lizzy.rs Git - plan9front.git/commitdiff
factotum: rsa: use mptober() to get right adjusted result instead of mptobe() and...
authorcinap_lenrek <cinap_lenrek@felloff.net>
Tue, 4 Dec 2018 18:34:36 +0000 (19:34 +0100)
committercinap_lenrek <cinap_lenrek@felloff.net>
Tue, 4 Dec 2018 18:34:36 +0000 (19:34 +0100)
sys/src/cmd/auth/factotum/rsa.c

index 596f19e262cae99f3cd2736b761e47e5b8680551..c1d659f393b5d74dd6bbffe28aa1c5eac6005294 100644 (file)
@@ -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;