---
 src/message.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/message.c b/src/message.c
index f17e5e1..1dff951 100644
--- a/src/message.c
+++ b/src/message.c
@@ -867,17 +867,16 @@ void otrl_message_abort_smp(OtrlUserState us, const 
OtrlMessageAppOps *ops,
     otrl_tlv_free(sendtlv);
 }
 
-static void message_malformed(const OtrlMessageAppOps *ops,
-       void *opdata, ConnContext *context) {
+static void report_error(const OtrlMessageAppOps *ops, void *opdata,
+                         OtrlMessageEvent ome, OtrlErrorCode oec,
+                         ConnContext *context) {
+
     if (ops->handle_msg_event) {
-       ops->handle_msg_event(opdata, OTRL_MSGEVENT_RCVDMSG_MALFORMED, context,
-           NULL, gcry_error(GPG_ERR_NO_ERROR));
+        ops->handle_msg_event(opdata, ome, context, NULL, 
gcry_error(GPG_ERR_NO_ERROR));
     }
 
     if (ops->inject_message && ops->otr_error_message) {
-       const char *err_msg = ops->otr_error_message(opdata, context,
-               OTRL_ERRCODE_MSG_MALFORMED);
-
+        const char *err_msg = ops->otr_error_message(opdata, context, oec);
        if (err_msg) {
            char *buf = malloc(strlen(OTR_ERROR_PREFIX) + strlen(err_msg) + 1);
 
@@ -1006,7 +1005,8 @@ int otrl_message_receiving(OtrlUserState us, const 
OtrlMessageAppOps *ops,
                        protocol, their_instance, 1, &context_added,
                        add_appdata, data);
            } else {
-               message_malformed(ops, opdata, context);
+            report_error(ops, opdata, OTRL_MSGEVENT_RCVDMSG_MALFORMED,
+                         OTRL_ERRCODE_MSG_MALFORMED, context);
                return 1;
            }
        }
@@ -1077,7 +1077,8 @@ int otrl_message_receiving(OtrlUserState us, const 
OtrlMessageAppOps *ops,
        }
 
        if (err || their_instance < OTRL_MIN_VALID_INSTAG) {
-           message_malformed(ops, opdata, context);
+        report_error(ops, opdata, OTRL_MSGEVENT_RCVDMSG_MALFORMED,
+                     OTRL_ERRCODE_MSG_MALFORMED, context);
            edata.ignore_message = 1;
            goto end;
        }
-- 
2.1.2

_______________________________________________
OTR-dev mailing list
OTR-dev@lists.cypherpunks.ca
http://lists.cypherpunks.ca/mailman/listinfo/otr-dev

Reply via email to