Hello!

In function emi2_handle_smscreq we have dlrmsg->sms.msgdata =
octstr_duplicate(emimsg->fields[E50_AMSG]); what may be incoreect
because in OT == 51 reply message dosn't contain E50_AMSG field and emimsg
= get_fields(str, privdata->name); (called before) dosn't initialize this
field to any value.
This patch helps...

--- smsc_emi2.c.orig    Wed Nov 13 15:06:39 2002
+++ smsc_emi2.c Wed Nov 13 15:08:25 2002
@@ -976,7 +976,7 @@ static int emi2_handle_smscreq (SMSCConn
                  * Recode the msg structure with the given msgdata.
                  * Note: the DLR URL is delivered in msg->sms.dlr_url
already.
                  */
-                dlrmsg->sms.msgdata =
octstr_duplicate(emimsg->fields[E50_AMSG]);
+                               dlrmsg->sms.msgdata = octstr_create("");
                 octstr_hex_to_binary(dlrmsg->sms.msgdata);
                 dlrmsg->sms.sms_type = report;


any comments? May be better to fix get_fields(...) function (in emimsg.c)
to initialize all fields to NULL before use.

with best wishes
 German Aksenov
phone: (095)258-7258 ext. 7836



Reply via email to