diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-04-16 14:24:13 +0000 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-04-16 14:24:13 +0000 |
commit | 5dc03728ed48c0b60715af36c09804a88c0751f2 (patch) | |
tree | 7edf49defff6d5f696856fa7b3949adbaba7a6ec /libssh/dh.c | |
parent | 50b701b4e47a9071685de989137b650b1af61196 (diff) | |
download | libssh-5dc03728ed48c0b60715af36c09804a88c0751f2.tar.gz libssh-5dc03728ed48c0b60715af36c09804a88c0751f2.tar.xz libssh-5dc03728ed48c0b60715af36c09804a88c0751f2.zip |
Add return value to dh_generate_x().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@498 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh/dh.c')
-rw-r--r-- | libssh/dh.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/libssh/dh.c b/libssh/dh.c index 376408f..439d198 100644 --- a/libssh/dh.c +++ b/libssh/dh.c @@ -213,18 +213,26 @@ void ssh_print_hexa(const char *descr, const unsigned char *what, size_t len) { printf("%s: %s\n", descr, hexa); } -void dh_generate_x(SSH_SESSION *session){ - session->next_crypto->x=bignum_new(); +int dh_generate_x(SSH_SESSION *session) { + session->next_crypto->x = bignum_new(); + if (session->next_crypto->x == NULL) { + return -1; + } + #ifdef HAVE_LIBGCRYPT - bignum_rand(session->next_crypto->x,128); + bignum_rand(session->next_crypto->x, 128); #elif defined HAVE_LIBCRYPTO - bignum_rand(session->next_crypto->x,128,0,-1); + bignum_rand(session->next_crypto->x, 128, 0, -1); #endif - /* not harder than this */ + + /* not harder than this */ #ifdef DEBUG_CRYPTO - ssh_print_bignum("x",session->next_crypto->x); + ssh_print_bignum("x", session->next_crypto->x); #endif + + return 0; } + /* used by server */ void dh_generate_y(SSH_SESSION *session){ session->next_crypto->y=bignum_new(); |