0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-27 07:31:03 +08:00

Fixed issue 578

This commit is contained in:
Pieter Hintjens 2013-11-04 15:39:20 +01:00
parent 027990a112
commit d7c8021afc
2 changed files with 15 additions and 5 deletions

9
.gitignore vendored
View File

@ -72,6 +72,15 @@ tests/test_security_null
tests/test_security_plain
tests/test_proxy
tests/test_abstract_ipc
tests/test_connect_delay_tipc
tests/test_pair_tipc
tests/test_reqrep_device_tipc
tests/test_reqrep_tipc
tests/test_router_handover
tests/test_router_mandatory_tipc
tests/test_shutdown_stress_tipc
tests/test_sub_forward_tipc
tests/test_term_endpoint_tipc
tests/test*.log
tests/test*.trs
src/platform.hpp*

View File

@ -142,7 +142,6 @@ char *zmq_z85_encode (char *dest, uint8_t *data, size_t size)
uint8_t *zmq_z85_decode (uint8_t *dest, char *string)
{
if (strlen (string) % 5 != 0) {
errno = EINVAL;
return NULL;
@ -150,7 +149,8 @@ uint8_t *zmq_z85_decode (uint8_t *dest, char *string)
unsigned int byte_nbr = 0;
unsigned int char_nbr = 0;
uint32_t value = 0;
while (char_nbr < strlen (string)) {
uint string_len = strlen (string);
while (char_nbr < string_len) {
// Accumulate value in base 85
value = value * 85 + decoder [(uint8_t) string [char_nbr++] - 32];
if (char_nbr % 5 == 0) {
@ -173,7 +173,7 @@ uint8_t *zmq_z85_decode (uint8_t *dest, char *string)
// Returns 0 on success, -1 on failure, setting errno.
// Sets errno = ENOTSUP in the absence of libsodium.
int zmq_curve_keypair (char* z85_public_key, char *z85_secret_key)
int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key)
{
#ifdef HAVE_LIBSODIUM
# if crypto_box_PUBLICKEYBYTES != 32 \
@ -185,8 +185,9 @@ int zmq_curve_keypair (char* z85_public_key, char *z85_secret_key)
uint8_t secret_key [32];
int rc = crypto_box_keypair (public_key, secret_key);
// is there a sensible errno to set here?
if (rc) return rc;
// Is there a sensible errno to set here?
if (rc)
return rc;
zmq_z85_encode (z85_public_key, public_key, 32);
zmq_z85_encode (z85_secret_key, secret_key, 32);