1
1

libgcrypt: simplify code of _libssh2_dsa_sha1_sign

Signed-off-by: Simon Josefsson <simon@josefsson.org>
Этот коммит содержится в:
Kamil Dudka 2009-12-06 14:35:03 +01:00 коммит произвёл Simon Josefsson
родитель 1f91ab049f
Коммит 39cbd17e19

Просмотреть файл

@ -429,26 +429,20 @@ _libssh2_dsa_sha1_sign(libssh2_dsa_ctx * dsactx,
/* Extract R. */ /* Extract R. */
data = gcry_sexp_find_token(sig_sexp, "r", 0); data = gcry_sexp_find_token(sig_sexp, "r", 0);
if (!data) { if (!data)
ret = -1; goto err;
goto out;
}
tmp = gcry_sexp_nth_data(data, 1, &size); tmp = gcry_sexp_nth_data(data, 1, &size);
if (!tmp) { if (!tmp)
ret = -1; goto err;
goto out;
}
if (tmp[0] == '\0') { if (tmp[0] == '\0') {
tmp++; tmp++;
size--; size--;
} }
if (size < 1 || size > 20) { if (size < 1 || size > 20)
ret = -1; goto err;
goto out;
}
memcpy(sig + (20 - size), tmp, size); memcpy(sig + (20 - size), tmp, size);
@ -457,30 +451,27 @@ _libssh2_dsa_sha1_sign(libssh2_dsa_ctx * dsactx,
/* Extract S. */ /* Extract S. */
data = gcry_sexp_find_token(sig_sexp, "s", 0); data = gcry_sexp_find_token(sig_sexp, "s", 0);
if (!data) { if (!data)
ret = -1; goto err;
goto out;
}
tmp = gcry_sexp_nth_data(data, 1, &size); tmp = gcry_sexp_nth_data(data, 1, &size);
if (!tmp) { if (!tmp)
ret = -1; goto err;
goto out;
}
if (tmp[0] == '\0') { if (tmp[0] == '\0') {
tmp++; tmp++;
size--; size--;
} }
if (size < 1 || size > 20) { if (size < 1 || size > 20)
ret = -1; goto err;
goto out;
}
memcpy(sig + 20 + (20 - size), tmp, size); memcpy(sig + 20 + (20 - size), tmp, size);
goto out;
err:
ret = -1;
ret = 0;
out: out:
if (sig_sexp) { if (sig_sexp) {
gcry_sexp_release(sig_sexp); gcry_sexp_release(sig_sexp);