Hi Anders,

ACK, not tested ( need to setup  GCC 7.1.1).

-AVM

On 6/20/2017 2:27 PM, Anders Widell wrote:
Fix build problems caused by the following warnings:

* -Werror=format-overflow=
* -Werror=parentheses
* -Werror=unused-variable
---
  src/amf/amfd/imm.cc                                |  2 -
  src/clm/apitest/tet_ClmLongRdn.c                   | 24 +++++---
  src/clm/apitest/tet_ClmOiOps.c                     | 72 +++++++++++++---------
  src/clm/clmd/clms_imm.c                            |  6 +-
  src/clm/clmd/clms_ntf.c                            | 23 ++++---
  src/imm/apitest/implementer/test_SaImmOiCcb.c      | 21 ++++---
  .../implementer/test_saImmOiRtObjectCreate_2.c     | 12 ++--
  .../management/test_saImmOmCcbObjectDelete.c       | 12 ++--
  .../management/test_saImmOmCcbObjectModify_2.c     | 12 ++--
  src/ntf/apitest/tet_longDnObject_notification.c    | 18 +++---
  10 files changed, 125 insertions(+), 77 deletions(-)

diff --git a/src/amf/amfd/imm.cc b/src/amf/amfd/imm.cc
index 7b1aa333e..9c700a464 100644
--- a/src/amf/amfd/imm.cc
+++ b/src/amf/amfd/imm.cc
@@ -2306,7 +2306,6 @@ bool ImmObjCreate::immobj_update_required() {
    if (class_type == AVSV_SA_AMF_SI_ASSIGNMENT) {
      std::string su_name;
      std::string sisu_name;
-    std::string::size_type pos;
      while ((attribute = attrValues_[i++]) != nullptr) {
        if (!strcmp(attribute->attrName, "safSISU")) {
          sisu_name = Amf::to_string(
@@ -2347,7 +2346,6 @@ bool ImmObjCreate::immobj_update_required() {
    } else if (class_type == AVSV_SA_AMF_CSI_ASSIGNMENT) {
      std::string comp_name;
      std::string csicomp_name;
-    std::string::size_type pos;
      AVD_CSI *csi = nullptr;
      AVD_COMP *comp = nullptr;
      AVD_COMP_CSI_REL *compcsi = nullptr;
diff --git a/src/clm/apitest/tet_ClmLongRdn.c b/src/clm/apitest/tet_ClmLongRdn.c
index e80a5fb78..53e6c1d5d 100644
--- a/src/clm/apitest/tet_ClmLongRdn.c
+++ b/src/clm/apitest/tet_ClmLongRdn.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2016 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -15,6 +16,9 @@
   *
   */
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
  #include <sys/types.h>
  #include <sys/wait.h>
  #include <pthread.h>
@@ -211,8 +215,9 @@ static void unlock_node(char *nodename)
        char command[1024];
// Unlock the node
-       sprintf(command, "immadm -o 1 %s", nodename);
-       assert(rc = system(command) != -1);
+       snprintf(command, sizeof(command), "immadm -o 1 %s", nodename);
+       rc = system(command);
+       assert(rc != -1);
  }
static void lock_node(char *nodename)
@@ -220,8 +225,9 @@ static void lock_node(char *nodename)
        int rc;
        char command[1024];
        // Lock the node
-       sprintf(command, "immadm -o 2 %s", nodename);
-       assert(rc = system(command) != -1);
+       snprintf(command, sizeof(command), "immadm -o 2 %s", nodename);
+       rc = system(command);
+       assert(rc != -1);
  }
static void remove_node(char *nodename)
@@ -230,12 +236,14 @@ static void remove_node(char *nodename)
        char command[1024];
// Lock the node
-       sprintf(command, "immadm -o 2 %s", nodename);
-       assert(rc = system(command) != -1);
+       snprintf(command, sizeof(command), "immadm -o 2 %s", nodename);
+       rc = system(command);
+       assert(rc != -1);
// Remove the node
-       sprintf(command, "immcfg -d %s", nodename);
-       assert((rc = system(command)) != -1);
+       snprintf(command, sizeof(command), "immcfg -d %s", nodename);
+       rc = system(command);
+       assert(rc != -1);
  }
static void saClmLongRdn_01(void)
diff --git a/src/clm/apitest/tet_ClmOiOps.c b/src/clm/apitest/tet_ClmOiOps.c
index e6b6f9ba6..39c3a76be 100644
--- a/src/clm/apitest/tet_ClmOiOps.c
+++ b/src/clm/apitest/tet_ClmOiOps.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2008 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -15,6 +16,9 @@
   *
   */
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
  #include <sys/types.h>
  #include <sys/wait.h>
  #include "clmtest.h"
@@ -23,14 +27,15 @@
  void saClmOi_01(void)
  {
        int rc;
-       char command[256];
+       char command[384];
- sprintf(
-           command,
+       snprintf(
+           command, sizeof(command),
            "immcfg -a saClmNodeLockCallbackTimeout=4000000000 
safNode=%s,safCluster=myClmCluster",
            node_name.value);
- assert((rc = system(command)) != -1);
+       rc = system(command);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 0);
  }
@@ -38,13 +43,14 @@ void saClmOi_01(void)
  void saClmOi_02(void)
  {
        int rc;
-       char command[256];
+       char command[384];
- sprintf(
-           command,
+       snprintf(
+           command, sizeof(command),
            "immcfg -a saClmNodeDisableReboot=1 
safNode=%s,safCluster=myClmCluster",
            node_name.value);
-       assert((rc = system(command)) != -1);
+       rc = system(command);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 0);
  }
@@ -52,13 +58,14 @@ void saClmOi_02(void)
  void saClmOi_03(void)
  {
        int rc;
-       char command[256];
+       char command[384];
- sprintf(
-           command,
+       snprintf(
+           command, sizeof(command),
            "immcfg -a saClmNodeAddressFamily=2 
safNode=%s,safCluster=myClmCluster",
            node_name.value);
-       assert((rc = system(command)) != -1);
+       rc = system(command);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 1);
  }
@@ -66,13 +73,14 @@ void saClmOi_03(void)
  void saClmOi_04(void)
  {
        int rc;
-       char command[256];
+       char command[384];
- sprintf(
-           command,
+       snprintf(
+           command, sizeof(command),
            "immcfg -a  saClmNodeAddress=10.130.100.186 
safNode=%s,safCluster=myClmCluster",
            node_name.value);
-       assert((rc = system(command)) != -1);
+       rc = system(command);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 1);
  }
@@ -80,13 +88,14 @@ void saClmOi_04(void)
  void saClmOi_05(void)
  {
        int rc;
-       char command[256];
+       char command[384];
        char new_eename[] = "NewEEName";
- sprintf(command,
+       snprintf(command, sizeof(command),
                "immcfg -a saClmNodeEE=%s safNode=%s,safCluster=myClmCluster",
                new_eename, node_name.value);
-       assert((rc = system(command)) != -1);
+       rc = system(command);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 1);
  }
@@ -94,10 +103,12 @@ void saClmOi_05(void)
  void saClmOi_06(void)
  {
        int rc;
-       char command[256];
-       sprintf(command, "immcfg -d  safNode=%s,safCluster=myClmCluster",
+       char command[384];
+       snprintf(command, sizeof(command),
+               "immcfg -d  safNode=%s,safCluster=myClmCluster",
                node_name.value);
-       assert((rc = system(command)) != -1);
+       rc = system(command);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 1);
  }
@@ -111,10 +122,13 @@ void saClmOi_07(void)
        char new_obj_name[] = "safNode=node,safCluster=myClmCluster";
        /*Lets first create the object- for this member will be false*/
- sprintf(command, "immcfg -c SaClmNode safNode=%s", new_obj_name);
-       sprintf(command1, "immcfg -d %s", new_obj_name);
-       assert((rc = system(command)) != -1);
-       assert((rc = system(command1)) != -1);
+       snprintf(command, sizeof(command),
+                "immcfg -c SaClmNode safNode=%s", new_obj_name);
+       snprintf(command1, sizeof(command1), "immcfg -d %s", new_obj_name);
+       rc = system(command);
+       assert(rc != -1);
+       rc = system(command1);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 1);
  }
@@ -126,8 +140,10 @@ void saClmOi_08(void)
        char command[256];
        char new_obj_name[] = "safNode=new_node,safCluster=myClmCluster";
- sprintf(command, "immcfg -c SaClmNode safNode=%s", new_obj_name);
-       assert((rc = system(command)) != -1);
+       snprintf(command, sizeof(command),
+                "immcfg -c SaClmNode safNode=%s", new_obj_name);
+       rc = system(command);
+       assert(rc != -1);
        test_validate(WEXITSTATUS(rc), 0);
  }
diff --git a/src/clm/clmd/clms_imm.c b/src/clm/clmd/clms_imm.c
index a363b5026..283b57794 100644
--- a/src/clm/clmd/clms_imm.c
+++ b/src/clm/clmd/clms_imm.c
@@ -2,6 +2,7 @@
   *
   * (C) Copyright 2010 The OpenSAF Foundation
   * Copyright (C) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -15,6 +16,7 @@
   * Author(s):  Emerson Network Power
   */
+#include <stdio.h>
  #include "imm/saf/saImmOm.h"
  #include "imm/saf/saImmOi.h"
@@ -1695,9 +1697,11 @@ static SaAisErrorT clms_imm_ccb_obj_create_callback(
                                            (strlen(rdnVal) + parentNameLen +
                                             1) < SA_MAX_NAME_LENGTH) {
                                                operation->objectName.length =
-                                                   (SaUint16T)sprintf(
+                                                   (SaUint16T)snprintf(
                                                        (char *)operation
                                                            ->objectName.value,
+                                                       sizeof(operation
+                                                           ->objectName.value),
                                                        "%s,%s", rdnVal,
                                                        parentName->value);
                                        } else {
diff --git a/src/clm/clmd/clms_ntf.c b/src/clm/clmd/clms_ntf.c
index 1bf7a6e47..b1b8830ef 100644
--- a/src/clm/clmd/clms_ntf.c
+++ b/src/clm/clmd/clms_ntf.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2010 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -15,6 +16,7 @@
   *
   */
+#include <stdio.h>
  #include "clms.h"
  #include "base/osaf_time.h"
@@ -146,7 +148,7 @@ sendStateChangeNotificationClms(CLMS_CB *clms_cb, SaNameT node_name,
  void clms_node_join_ntf(CLMS_CB *clms_cb, CLMS_CLUSTER_NODE *node)
  {
        SaNameT dn;
-       SaUint8T add_text[SA_MAX_NAME_LENGTH];
+       SaUint8T add_text[SA_MAX_NAME_LENGTH + 128];
memset(dn.value, '\0', SA_MAX_NAME_LENGTH);
        dn.length = node->node_name.length;
@@ -159,7 +161,8 @@ void clms_node_join_ntf(CLMS_CB *clms_cb, CLMS_CLUSTER_NODE 
*node)
               clms_cb->cluster_view_num);
memset(&add_text, '\0', sizeof(add_text));
-       sprintf((SaInt8T *)add_text, "CLM node %s Joined", dn.value);
+       snprintf((SaInt8T *)add_text, sizeof(add_text), "CLM node %s Joined",
+                dn.value);
sendStateChangeNotificationClms(
            clms_cb, dn, add_text, SA_SVC_CLM, SA_CLM_NTFID_NODE_JOIN,
@@ -182,7 +185,7 @@ void clms_node_join_ntf(CLMS_CB *clms_cb, CLMS_CLUSTER_NODE 
*node)
  void clms_node_exit_ntf(CLMS_CB *clms_cb, CLMS_CLUSTER_NODE *node)
  {
        SaNameT dn;
-       SaUint8T add_text[SA_MAX_NAME_LENGTH];
+       SaUint8T add_text[SA_MAX_NAME_LENGTH + 128];
memset(dn.value, '\0', SA_MAX_NAME_LENGTH);
        dn.length = node->node_name.length;
@@ -195,7 +198,8 @@ void clms_node_exit_ntf(CLMS_CB *clms_cb, CLMS_CLUSTER_NODE 
*node)
               clms_cb->cluster_view_num);
memset(&add_text, '\0', sizeof(add_text));
-       sprintf((SaInt8T *)add_text, "CLM node %s Exit", dn.value);
+       snprintf((SaInt8T *)add_text, sizeof(add_text), "CLM node %s Exit",
+                dn.value);
sendStateChangeNotificationClms(
            clms_cb, dn, add_text, SA_SVC_CLM, SA_CLM_NTFID_NODE_LEAVE,
@@ -218,7 +222,7 @@ void clms_node_exit_ntf(CLMS_CB *clms_cb, CLMS_CLUSTER_NODE 
*node)
  void clms_node_reconfigured_ntf(CLMS_CB *clms_cb, CLMS_CLUSTER_NODE *node)
  {
        SaNameT dn;
-       SaUint8T add_text[SA_MAX_NAME_LENGTH];
+       SaUint8T add_text[SA_MAX_NAME_LENGTH + 128];
memset(dn.value, '\0', SA_MAX_NAME_LENGTH);
        saflog(LOG_NOTICE, clmSvcUsrName,
@@ -229,7 +233,8 @@ void clms_node_reconfigured_ntf(CLMS_CB *clms_cb, 
CLMS_CLUSTER_NODE *node)
        (void)memcpy(dn.value, node->node_name.value, dn.length);
memset(&add_text, '\0', sizeof(add_text));
-       sprintf((SaInt8T *)add_text, "CLM node %s Reconfigured", dn.value);
+       snprintf((SaInt8T *)add_text, sizeof(add_text),
+                "CLM node %s Reconfigured", dn.value);
sendStateChangeNotificationClms(
            clms_cb, dn, add_text, SA_SVC_CLM, SA_CLM_NTFID_NODE_RECONFIG,
@@ -253,7 +258,7 @@ void clms_node_admin_state_change_ntf(CLMS_CB *clms_cb, 
CLMS_CLUSTER_NODE *node,
                                      SaUint32T newState)
  {
        SaNameT dn;
-       SaUint8T add_text[SA_MAX_NAME_LENGTH];
+       SaUint8T add_text[SA_MAX_NAME_LENGTH + 128];
TRACE_ENTER2("admin state change for node name %s",
                     node->node_name.value);
@@ -267,8 +272,8 @@ void clms_node_admin_state_change_ntf(CLMS_CB *clms_cb, 
CLMS_CLUSTER_NODE *node,
        (void)memcpy(dn.value, node->node_name.value, dn.length);
memset(&add_text, '\0', sizeof(add_text));
-       sprintf((SaInt8T *)add_text, "CLM node %s Admin State Change",
-               dn.value);
+       snprintf((SaInt8T *)add_text, sizeof(add_text),
+                "CLM node %s Admin State Change", dn.value);
sendStateChangeNotificationClms(
            clms_cb, dn, add_text, SA_SVC_CLM, SA_CLM_NTFID_NODE_ADMIN_STATE,
diff --git a/src/imm/apitest/implementer/test_SaImmOiCcb.c 
b/src/imm/apitest/implementer/test_SaImmOiCcb.c
index a054beda0..2ee5034a2 100644
--- a/src/imm/apitest/implementer/test_SaImmOiCcb.c
+++ b/src/imm/apitest/implementer/test_SaImmOiCcb.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2008 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -16,6 +17,7 @@
   */
#include <poll.h>
+#include <stdio.h>
  #include <unistd.h>
  #include <pthread.h>
  #include "imm/apitest/immtest.h"
@@ -184,7 +186,7 @@ static void *objectImplementerThreadMain(void *arg)
  {
        struct pollfd fds[2];
        int ret;
-       char buf[256];
+       char buf[384];
        const SaImmOiImplementerNameT implementerName = buf;
        SaSelectionObjectT selObj;
        SaImmHandleT handle;
@@ -192,7 +194,7 @@ static void *objectImplementerThreadMain(void *arg)
TRACE_ENTER(); - sprintf(buf, "%s_%s", __FUNCTION__, objectName->value);
+       snprintf(buf, sizeof(buf), "%s_%s", __FUNCTION__, objectName->value);
        safassert(saImmOiInitialize_2(&handle, &callbacks, &immVersion),
                  SA_AIS_OK);
        safassert(saImmOiImplementerSet(handle, implementerName), SA_AIS_OK);
@@ -816,12 +818,15 @@ static void saImmOiCcb_09(void)
__attribute__((constructor)) static void saImmOiCcb_constructor(void)
  {
-       dnObj1.length = (SaUint16T)sprintf((char *)dnObj1.value, "%s,%s",
-                                          rdnObj1.value, rootObj.value);
-       dnObj2.length = (SaUint16T)sprintf((char *)dnObj2.value, "%s,%s",
-                                          rdnObj2.value, rootObj.value);
-       dnObj3.length = (SaUint16T)sprintf((char *)dnObj3.value, "%s,%s",
-                                          rdnObj3.value, rootObj.value);
+       dnObj1.length = (SaUint16T)snprintf((char *)dnObj1.value,
+                                           sizeof(dnObj1.value), "%s,%s",
+                                           rdnObj1.value, rootObj.value);
+       dnObj2.length = (SaUint16T)snprintf((char *)dnObj2.value,
+                                           sizeof(dnObj2.value), "%s,%s",
+                                           rdnObj2.value, rootObj.value);
+       dnObj3.length = (SaUint16T)snprintf((char *)dnObj3.value,
+                                           sizeof(dnObj3.value), "%s,%s",
+                                           rdnObj3.value, rootObj.value);
test_suite_add(4, "Configuration Objects Implementer");
        test_case_add(4, saImmOiCcb_01,
diff --git a/src/imm/apitest/implementer/test_saImmOiRtObjectCreate_2.c 
b/src/imm/apitest/implementer/test_saImmOiRtObjectCreate_2.c
index b5a572c2f..3f83f0089 100644
--- a/src/imm/apitest/implementer/test_saImmOiRtObjectCreate_2.c
+++ b/src/imm/apitest/implementer/test_saImmOiRtObjectCreate_2.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2008 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -15,6 +16,7 @@
   *
   */
+#include <stdio.h>
  #include "imm/apitest/immtest.h"
  #include "base/osaf_extended_name.h"
@@ -272,10 +274,12 @@ extern void SaImmOiRtAttrUpdateCallbackT_01(void);
  __attribute__((constructor)) static void
  saImmOiRtObjectCreate_2_constructor(void)
  {
-       dnObj1.length = (SaUint16T)sprintf((char *)dnObj1.value, "%s,%s",
-                                          rdnObj1.value, rootObj.value);
-       dnObj2.length = (SaUint16T)sprintf((char *)dnObj2.value, "%s,%s",
-                                          rdnObj2.value, rootObj.value);
+       dnObj1.length = (SaUint16T)snprintf((char *)dnObj1.value,
+                                           sizeof(dnObj1.value), "%s,%s",
+                                           rdnObj1.value, rootObj.value);
+       dnObj2.length = (SaUint16T)snprintf((char *)dnObj2.value,
+                                           sizeof(dnObj2.value), "%s,%s",
+                                           rdnObj2.value, rootObj.value);
test_suite_add(3, "Runtime Objects Management");
        test_case_add(3, saImmOiRtObjectCreate_2_01,
diff --git a/src/imm/apitest/management/test_saImmOmCcbObjectDelete.c 
b/src/imm/apitest/management/test_saImmOmCcbObjectDelete.c
index ab6ab81c8..bc5bdaa5a 100644
--- a/src/imm/apitest/management/test_saImmOmCcbObjectDelete.c
+++ b/src/imm/apitest/management/test_saImmOmCcbObjectDelete.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2008 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -15,6 +16,7 @@
   *
   */
+#include <stdio.h>
  #include "imm/apitest/immtest.h"
static const SaNameT rdnObj1 = {sizeof("Obj1"), "Obj1"};
@@ -795,8 +797,10 @@ void saImmOmCcbObjectDelete_14(void)
  __attribute__((constructor)) static void
  saImmOmCcbObjectDelete_constructor(void)
  {
-       dnObj1.length = (SaUint16T)sprintf((char *)dnObj1.value, "%s,%s",
-                                          rdnObj1.value, rootObj.value);
-       dnObj2.length = (SaUint16T)sprintf((char *)dnObj2.value, "%s,%s",
-                                          rdnObj2.value, rootObj.value);
+       dnObj1.length = (SaUint16T)snprintf((char *)dnObj1.value,
+                                           sizeof(dnObj1.value), "%s,%s",
+                                           rdnObj1.value, rootObj.value);
+       dnObj2.length = (SaUint16T)snprintf((char *)dnObj2.value,
+                                           sizeof(dnObj2.value), "%s,%s",
+                                           rdnObj2.value, rootObj.value);
  }
diff --git a/src/imm/apitest/management/test_saImmOmCcbObjectModify_2.c 
b/src/imm/apitest/management/test_saImmOmCcbObjectModify_2.c
index 27f62e2db..5a6ed3726 100644
--- a/src/imm/apitest/management/test_saImmOmCcbObjectModify_2.c
+++ b/src/imm/apitest/management/test_saImmOmCcbObjectModify_2.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2008 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -15,6 +16,7 @@
   *
   */
+#include <stdio.h>
  #include "imm/apitest/immtest.h"
  #include <unistd.h>
@@ -1439,8 +1441,10 @@ void saImmOmCcbObjectRead_03(void)
  __attribute__((constructor)) static void
  saImmOmCcbObjectModify_2_constructor(void)
  {
-       dnObj1.length = (SaUint16T)sprintf((char *)dnObj1.value, "%s,%s",
-                                          rdnObj1.value, rootObj.value);
-       dnObj2.length = (SaUint16T)sprintf((char *)dnObj2.value, "%s,%s",
-                                          rdnObj2.value, rootObj.value);
+       dnObj1.length = (SaUint16T)snprintf((char *)dnObj1.value,
+                                           sizeof(dnObj1.value), "%s,%s",
+                                           rdnObj1.value, rootObj.value);
+       dnObj2.length = (SaUint16T)snprintf((char *)dnObj2.value,
+                                           sizeof(dnObj2.value), "%s,%s",
+                                           rdnObj2.value, rootObj.value);
  }
diff --git a/src/ntf/apitest/tet_longDnObject_notification.c 
b/src/ntf/apitest/tet_longDnObject_notification.c
index 9050833eb..55603a47e 100644
--- a/src/ntf/apitest/tet_longDnObject_notification.c
+++ b/src/ntf/apitest/tet_longDnObject_notification.c
@@ -1,6 +1,7 @@
  /*      -*- OpenSAF  -*-
   *
   * (C) Copyright 2009 The OpenSAF Foundation
+ * Copyright Ericsson AB 2017 - All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -14,9 +15,8 @@
   * Author(s): Ericsson AB
   *
   */
-/**
- */
+#include <stdio.h>
  #include "osaf/apitest/utest.h"
  #include "osaf/apitest/util.h"
  #include <unistd.h>
@@ -102,15 +102,15 @@ static void getVal(imminfo_t *info)
        FILE *fp = NULL;
        attrinfo_t *tmp = NULL;
        char attrValue[MAX_DATA] = {0};
-       char command[MAX_DATA] = {0};
+       char command[MAX_DATA + 512] = {0};
        size_t s = info->alist->size;
tmp = info->alist->attr;
        while (s) {
-               sprintf(command,
-                       "immlist -a %s %s "
-                       "| awk -F \"=\" '{print $2}' ",
-                       tmp->name, info->dn);
+               snprintf(command, sizeof(command),
+                        "immlist -a %s %s "
+                        "| awk -F \"=\" '{print $2}' ",
+                        tmp->name, info->dn);
                fp = popen(command, "r");
                while (fgets(attrValue, sizeof(attrValue) - 1, fp) != NULL) {
                };
@@ -131,7 +131,7 @@ static int setVal(imminfo_t *info)
  {
        char *f = NULL;
        attrinfo_t *tmp = NULL;
-       char command[MAX_DATA] = {0};
+       char command[MAX_DATA + 512] = {0};
        char format[MAX_DATA] = {0};
        size_t s = info->alist->size;
        int rc;
@@ -150,7 +150,7 @@ static int setVal(imminfo_t *info)
                s--;
                tmp++;
        }
-       sprintf(command, "immcfg %s %s", format, info->dn);
+       snprintf(command, sizeof(command), "immcfg %s %s", format, info->dn);
/* For Debug only*/
        if (getenv("NTFTEST_DEBUG"))


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to