--- src/message.c | 3 +++ src/privkey.c | 4 ++++ src/proto.c | 7 +++++++ 3 files changed, 14 insertions(+)
diff --git a/src/message.c b/src/message.c index 333ee0c..791e41b 100644 --- a/src/message.c +++ b/src/message.c @@ -759,6 +759,9 @@ static void init_respond_smp(OtrlUserState us, const OtrlMessageAppOps *ops, combined_buf_len = 41 + context->sessionid_len + secretlen; combined_buf = malloc(combined_buf_len); + if (!combined_buf) { + return; + } combined_buf[0] = 0x01; if (initiating) { memmove(combined_buf + 1, our_fp, 20); diff --git a/src/privkey.c b/src/privkey.c index 9bba7d0..16bce1f 100644 --- a/src/privkey.c +++ b/src/privkey.c @@ -488,6 +488,10 @@ gcry_error_t otrl_privkey_generate_start(OtrlUserState us, /* Allocate the working structure */ ppc = malloc(sizeof(*ppc)); + if (!ppc) { + return gcry_error(GPG_ERR_ENOMEM); + } + ppc->accountname = strdup(accountname); ppc->protocol = strdup(protocol); ppc->privkey = NULL; diff --git a/src/proto.c b/src/proto.c index f560a82..b2f6a9d 100644 --- a/src/proto.c +++ b/src/proto.c @@ -253,6 +253,9 @@ char *otrl_proto_default_query_msg(const char *ourname, OtrlPolicy policy) v2_supported = (policy & OTRL_POLICY_ALLOW_V2); v3_supported = (policy & OTRL_POLICY_ALLOW_V3); version_tag = malloc(8); + if (!version_tag) { + return NULL; + } bufp = version_tag; if (v1_supported) { *bufp = '?'; @@ -460,6 +463,10 @@ gcry_error_t otrl_proto_instance(const char *otrmsg, /* Decode and extract instance tag */ bufp = malloc(OTRL_B64_MAX_DECODED_SIZE(12)); + if (!bufp) { + return gcry_error(GPG_ERR_ENOMEM); + } + bufp_head = bufp; lenp = otrl_base64_decode(bufp, otrtag+9, 12); read_int(*instance_from); -- 2.1.2 _______________________________________________ OTR-dev mailing list OTR-dev@lists.cypherpunks.ca http://lists.cypherpunks.ca/mailman/listinfo/otr-dev