version 1.78, 2019/06/27 06:29:35 |
version 1.79, 2019/07/07 01:05:00 |
|
|
char *ret; |
char *ret; |
size_t plen = strlen(alg) + 1; |
size_t plen = strlen(alg) + 1; |
size_t rlen = ((dgst_raw_len + 2) / 3) * 4 + plen + 1; |
size_t rlen = ((dgst_raw_len + 2) / 3) * 4 + plen + 1; |
int r; |
|
|
|
if (dgst_raw_len > 65536 || (ret = calloc(1, rlen)) == NULL) |
if (dgst_raw_len > 65536 || (ret = calloc(1, rlen)) == NULL) |
return NULL; |
return NULL; |
|
|
strlcat(ret, ":", rlen); |
strlcat(ret, ":", rlen); |
if (dgst_raw_len == 0) |
if (dgst_raw_len == 0) |
return ret; |
return ret; |
if ((r = b64_ntop(dgst_raw, dgst_raw_len, |
if (b64_ntop(dgst_raw, dgst_raw_len, ret + plen, rlen - plen) == -1) { |
ret + plen, rlen - plen)) == -1) { |
|
freezero(ret, rlen); |
freezero(ret, rlen); |
return NULL; |
return NULL; |
} |
} |