diff options
author | Hubert Chathi <hubert@uhoreg.ca> | 2019-10-08 17:44:09 -0400 |
---|---|---|
committer | Hubert Chathi <hubert@uhoreg.ca> | 2019-10-08 17:44:09 -0400 |
commit | fc423fad15ee3daaf236f211d67a25d03f63b560 (patch) | |
tree | c5dc092e5bb83b5a17863992396f0b82158c1e43 | |
parent | b482321213e6e896d0981c266bed12f4e1f67441 (diff) |
check return value of snprintf, fix typo, add clarification
-rw-r--r-- | include/olm/olm.h | 4 | ||||
-rw-r--r-- | src/session.cpp | 17 |
2 files changed, 14 insertions, 7 deletions
diff --git a/include/olm/olm.h b/include/olm/olm.h index a0ef46a..6a2b3fb 100644 --- a/include/olm/olm.h +++ b/include/olm/olm.h @@ -319,8 +319,8 @@ int olm_session_has_received_message( ); /** - * Write a string describing the internal state of an olm session - * to the buffer provided for debugging and logging purposes. + * Write a null-terminated string describing the internal state of an olm + * session to the buffer provided for debugging and logging purposes. */ void olm_session_describe(OlmSession * session, char *buf, size_t buflen); diff --git a/src/session.cpp b/src/session.cpp index d6761d5..b619e56 100644 --- a/src/session.cpp +++ b/src/session.cpp @@ -404,25 +404,32 @@ void olm::Session::describe(char *describe_buffer, size_t buflen) { describe_buffer[0] = '\0'; char *buf_pos = describe_buffer; - buf_pos += snprintf( + int size; + + size = snprintf( buf_pos, buflen - (buf_pos - describe_buffer), "sender chain index: %d ", ratchet.sender_chain[0].chain_key.index ); + if (size > 0) buf_pos += size; - buf_pos += snprintf(buf_pos, buflen - (buf_pos - describe_buffer), "receiver chain indcies:"); + size = snprintf(buf_pos, buflen - (buf_pos - describe_buffer), "receiver chain indices:"); + if (size > 0) buf_pos += size; for (size_t i = 0; i < ratchet.receiver_chains.size(); ++i) { - buf_pos += snprintf( + size = snprintf( buf_pos, buflen - (buf_pos - describe_buffer), " %d", ratchet.receiver_chains[i].chain_key.index ); + if (size > 0) buf_pos += size; } - buf_pos += snprintf(buf_pos, buflen - (buf_pos - describe_buffer), " skipped message keys:"); + size = snprintf(buf_pos, buflen - (buf_pos - describe_buffer), " skipped message keys:"); + if (size >= 0) buf_pos += size; for (size_t i = 0; i < ratchet.skipped_message_keys.size(); ++i) { - buf_pos += snprintf( + size = snprintf( buf_pos, buflen - (buf_pos - describe_buffer), " %d", ratchet.skipped_message_keys[i].message_key.index ); + if (size > 0) buf_pos += size; } } |