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"))