summaryrefslogtreecommitdiff
path: root/sys/src/libsec
diff options
context:
space:
mode:
authoraiju <aiju@phicode.de>2012-06-08 17:23:29 +0200
committeraiju <aiju@phicode.de>2012-06-08 17:23:29 +0200
commit964b86fcd983ca345bb7f7a0e26c5814ec2e1333 (patch)
treeca4662cfced47cbe9001f04a292f3ca14e5fcfc1 /sys/src/libsec
parenta715d9ec94f0e16ad7379e3ffad231f217ba9422 (diff)
more btc stuff
Diffstat (limited to 'sys/src/libsec')
-rw-r--r--sys/src/libsec/port/ecc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/libsec/port/ecc.c b/sys/src/libsec/port/ecc.c
index 27e647d46..2504c7c5c 100644
--- a/sys/src/libsec/port/ecc.c
+++ b/sys/src/libsec/port/ecc.c
@@ -514,6 +514,7 @@ base58dec(char *src, uchar *dst, int len)
{
mpint *n, *b, *r;
char *t;
+ int l;
n = mpnew(0);
r = mpnew(0);
@@ -531,7 +532,9 @@ base58dec(char *src, uchar *dst, int len)
mpmul(n, b, n);
mpadd(n, r, n);
}
- mptobe(n, dst, len, nil);
+ memset(dst, 0, len);
+ l = (mpsignif(n) + 7) / 8;
+ mptobe(n, dst + (len - l), l, nil);
mpfree(n);
mpfree(r);
mpfree(b);