version 1.29, 2022/03/30 04:27:51 |
version 1.30, 2022/08/19 03:06:30 |
|
|
{ |
{ |
char *hex, rbuf[8192], hash[SSH_DIGEST_MAX_LENGTH]; |
char *hex, rbuf[8192], hash[SSH_DIGEST_MAX_LENGTH]; |
ssize_t n, total = 0; |
ssize_t n, total = 0; |
struct ssh_digest_ctx *ctx; |
struct ssh_digest_ctx *ctx = NULL; |
int alg, oerrno, r = SSH_ERR_INTERNAL_ERROR; |
int alg, oerrno, r = SSH_ERR_INTERNAL_ERROR; |
struct sshbuf *b = NULL; |
struct sshbuf *b = NULL; |
|
|
|
|
continue; |
continue; |
oerrno = errno; |
oerrno = errno; |
error_f("read: %s", strerror(errno)); |
error_f("read: %s", strerror(errno)); |
ssh_digest_free(ctx); |
|
errno = oerrno; |
errno = oerrno; |
r = SSH_ERR_SYSTEM_ERROR; |
r = SSH_ERR_SYSTEM_ERROR; |
goto out; |
goto out; |
|
|
/* success */ |
/* success */ |
r = 0; |
r = 0; |
out: |
out: |
|
oerrno = errno; |
sshbuf_free(b); |
sshbuf_free(b); |
ssh_digest_free(ctx); |
ssh_digest_free(ctx); |
explicit_bzero(hash, sizeof(hash)); |
explicit_bzero(hash, sizeof(hash)); |
|
errno = oerrno; |
return r; |
return r; |
} |
} |
|
|