diff options
Diffstat (limited to 'src/libsec/port/md5pickle.c')
-rw-r--r-- | src/libsec/port/md5pickle.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libsec/port/md5pickle.c b/src/libsec/port/md5pickle.c index 5b353b5a..012489a2 100644 --- a/src/libsec/port/md5pickle.c +++ b/src/libsec/port/md5pickle.c @@ -7,11 +7,12 @@ md5pickle(MD5state *s) char *p; int m, n; - m = 4*9+4*((s->blen+3)/3); + m = 17+4*9+4*((s->blen+3)/3); p = malloc(m); if(p == nil) return p; - n = sprint(p, "%8.8ux %8.8ux %8.8ux %8.8ux ", + n = sprint(p, "%16.16llux %8.8ux %8.8ux %8.8ux %8.8ux ", + s->len, s->state[0], s->state[1], s->state[2], s->state[3]); enc64(p+n, m-n, s->buf, s->blen); @@ -26,6 +27,7 @@ md5unpickle(char *p) s = malloc(sizeof(*s)); if(s == nil) return nil; + s->len = strtoull(p, &p, 16); s->state[0] = strtoul(p, &p, 16); s->state[1] = strtoul(p, &p, 16); s->state[2] = strtoul(p, &p, 16); |