nsremote: Add additional check to handle assert disabled
[ipc/ipcdev.git] / packages / ti / sdo / ipc / nsremote / NameServerMessageQ.c
index 749e532a1efada5a3495df1fac1af611d45662cf..1f0b3a61483db4e5130f76a1d3d4cd403b5c7898 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2014, Texas Instruments Incorporated
+ * Copyright (c) 2012-2015 Texas Instruments Incorporated - http://www.ti.com
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -120,6 +120,7 @@ Void NameServerMessageQ_Instance_finalize(NameServerMessageQ_Object *obj)
 Int NameServerMessageQ_Module_startup(Int phase)
 {
     MessageQ_Params2  messageQParams;
+    MessageQ_QueueId queueId;
 
     /* Ensure MessageQ and SyncSwi Module_startup() have completed */
     if ((ti_sdo_ipc_MessageQ_Module_startupDone() == FALSE) ||
@@ -137,11 +138,20 @@ Int NameServerMessageQ_Module_startup(Int phase)
     /* assert msgHandle is not null */
     Assert_isTrue(NameServerMessageQ_module->msgHandle != NULL,
         Ipc_A_nullPointer);
+    /* Additonal check for case with  assert disabled */
+    if(NameServerMessageQ_module->msgHandle == NULL) {
+        return Startup_NOTDONE;
+    }
 
+    queueId = MessageQ_getQueueId((MessageQ_Handle)
+                                  NameServerMessageQ_module->msgHandle);
     /* assert this is the first MessageQ created */
-    Assert_isTrue((MessageQ_getQueueId((MessageQ_Handle)
-        NameServerMessageQ_module->msgHandle) & 0xffff) == MESSAGEQ_INDEX,
+    Assert_isTrue( (queueId & 0xffff) == MESSAGEQ_INDEX,
         NameServerMessageQ_A_reservedMsgQueueId);
+    /* Additonal check for case with  assert disabled */
+    if ((queueId & 0xffff) != MESSAGEQ_INDEX) {
+        return Startup_NOTDONE;
+    }
 
     return (Startup_DONE);
 }
@@ -210,7 +220,6 @@ Int NameServerMessageQ_get(NameServerMessageQ_Object *obj,
                            ISync_Handle syncHandle,
                            Error_Block *eb)
 {
-    Int len;
     Int status;
     IArg key;
     MessageQ_QueueId queueId;
@@ -236,21 +245,17 @@ Int NameServerMessageQ_get(NameServerMessageQ_Object *obj,
     msg->request = NameServerMessageQ_REQUEST;
     msg->requestStatus = 0;
 
-    /* get the length of instanceName */
-    len = strlen(instanceName);
-
     /* assert length is smaller than max (must have room for null character) */
-    Assert_isTrue(len < MAXNAMEINCHAR, NameServerMessageQ_A_nameIsTooLong);
+    Assert_isTrue(strlen(instanceName) < MAXNAMEINCHAR,
+            NameServerMessageQ_A_nameIsTooLong);
 
     /* copy the name of instance into putMsg */
     strncpy((Char *)msg->instanceName, instanceName, MAXNAMEINCHAR - 1);
     ((Char *)msg->instanceName) [MAXNAMEINCHAR - 1] = '0';
 
-    /* get the length of name */
-    len = strlen(name);
-
     /* assert length is smaller than max (must have room for null character) */
-    Assert_isTrue(len < MAXNAMEINCHAR, NameServerMessageQ_A_nameIsTooLong);
+    Assert_isTrue(strlen(name) < MAXNAMEINCHAR,
+            NameServerMessageQ_A_nameIsTooLong);
 
     /* copy the name of nameserver entry into putMsg */
     strncpy((Char *)msg->name, name, MAXNAMEINCHAR - 1);