Trond Enger / d7a_1x

Fork of d7a_1x by WizziLab

Revision:
65:ac3844adfe49
Parent:
63:afd046faedb0
Child:
67:9ac9d109b80a
--- a/src/d7a_alp.cpp	Wed Oct 12 16:40:10 2016 +0000
+++ b/src/d7a_alp.cpp	Fri Oct 14 10:52:22 2016 +0000
@@ -567,19 +567,22 @@
                 break;
             case KAL_COM_FLOW_AT_UNS:
                 DPRINT("KAL_COM_FLOW_AT_UNS\r\n");
-                d7a_msg_t** ret = (d7a_msg_t**)MALLOC(sizeof(d7a_msg_t*) * 2);
-                
-                d7a_alp_rsp_t* pl = d7a_alp_parse_pl(pkt);
-                
-                ret[0] = pl->msg;
-                ret[1] = NULL;
-                
+                if (g_alp_ctx.uns_msg)
+                {
+                    d7a_msg_t** uns = (d7a_msg_t**)MALLOC(sizeof(d7a_msg_t*) * 2);
+                    
+                    d7a_alp_rsp_t* pl = d7a_alp_parse_pl(pkt);
+                    
+                    uns[0] = pl->msg;
+                    uns[1] = NULL;
+                    
+                    FREE(pl);
+                    
+                    // Callback
+                    g_alp_ctx.uns_msg(uns);
+                }
+
                 FREE(pkt);
-                FREE(pl);
-                
-                // Callback
-                g_alp_ctx.uns_msg(ret);
-                
                 break;
             default:
                 EPRINT("ALP Unknown Flow ID 0x%02X\r\n", pkt->id);