Hi Pasi,
> From: Pasi Miettinen <[email protected]>
>
> ---
> drivers/atmodem/sms.c | 26 +++++++++++++++++++-------
> 1 files changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/atmodem/sms.c b/drivers/atmodem/sms.c
> index 27de77b..a1c885b 100644
> --- a/drivers/atmodem/sms.c
> +++ b/drivers/atmodem/sms.c
> @@ -283,16 +283,28 @@ static void at_cds_notify(GAtResult *result, gpointer
> user_data) {
> struct ofono_sms *sms = user_data;
> struct sms_data *data = ofono_sms_get_data(sms);
> - int pdulen;
> - const char *pdu;
> + long pdu_len;
> + int tpdu_len;
> + const char *hexpdu;
> + unsigned char pdu[176];
> char buf[256];
>
> - if (!at_parse_pdu_common(result, "+CDS:", &pdu, &pdulen)) {
> + if (!at_parse_pdu_common(result, "+CDS:", &hexpdu, &tpdu_len)) {
> ofono_error("Unable to parse CDS notification");
> return;
> }
>
> - DBG("Got new Status-Report PDU via CDS: %s, %d", pdu, pdulen);
> + /*Is this necessary?*/
This is necessary to keep from overflowing the buffer. Better safe than sorry,
so I'm fine leaving this check in. Remove the comment though.
> + if (strlen(hexpdu) > sizeof(pdu) * 2) {
> + ofono_error("Bad PDU length in CMT notification");
> + return;
> + }
> +
> + DBG("Got new Status-Report PDU via CDS: %s, %d", hexpdu, tpdu_len);
> +
> + /*Decode pdu and notify about new SMS status report*/
> + decode_hex_own_buf(hexpdu, -1, &pdu_len, 0, pdu);
> + ofono_sms_status_report_notify(sms, pdu, pdu_len, tpdu_len);
>
> /* We must acknowledge the PDU using CNMA */
> if (data->cnma_ack_pdu)
> @@ -545,13 +557,13 @@ static void at_cmgl_cb(gboolean ok, GAtResult
> *result, gpointer user_data) static void at_cmgl_cpms_cb(gboolean ok,
> GAtResult *result, gpointer user_data) {
>
> - DBG("PASS AT+CMGL=4!!!");
> - return;
> -
> struct cpms_request *req = user_data;
> struct ofono_sms *sms = req->sms;
> struct sms_data *data = ofono_sms_get_data(sms);
>
> + DBG("PASS AT+CMGL=4!!!");
> + return;
> +
This belongs in a separate patch, please break up the patches appropriately.
Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono