1616 * Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
1717 * Copyright (c) 2015-2017 Research Organization for Information Science
1818 * and Technology (RIST). All rights reserved.
19+ * Copyright (C) 2018 Mellanox Technologies, Ltd.
20+ * All rights reserved.
21+ * Copyright (c) 2018 Amazon.com, Inc. or its affiliates. All Rights reserved.
22+ * Copyright (c) 2019 IBM Corporation. All rights reserved.
1923 * $COPYRIGHT$
2024 *
2125 * Additional copyrights may follow
@@ -1891,14 +1895,14 @@ int opal_hwloc_base_cset2str(char *str, int len,
18911895 for (core_index = 0 ; core_index < num_cores ; ++ core_index ) {
18921896 if (map [socket_index ][core_index ] > 0 ) {
18931897 if (!first ) {
1894- strncat (str , ", " , len - strlen (str ));
1898+ strncat (str , ", " , len - strlen (str ) - 1 );
18951899 }
18961900 first = false;
18971901
18981902 snprintf (tmp , stmp , "socket %d[core %d[hwt %s]]" ,
18991903 socket_index , core_index ,
19001904 bitmap2rangestr (map [socket_index ][core_index ]));
1901- strncat (str , tmp , len - strlen (str ));
1905+ strncat (str , tmp , len - strlen (str ) - 1 );
19021906 }
19031907 }
19041908 }
@@ -1956,7 +1960,7 @@ int opal_hwloc_base_cset2mapstr(char *str, int len,
19561960 for (socket = hwloc_get_obj_by_type (topo , HWLOC_OBJ_SOCKET , 0 );
19571961 NULL != socket ;
19581962 socket = socket -> next_cousin ) {
1959- strncat (str , "[" , len - strlen (str ));
1963+ strncat (str , "[" , len - strlen (str ) - 1 );
19601964
19611965 /* Iterate over all existing cores in this socket */
19621966 core_index = 0 ;
@@ -1968,7 +1972,7 @@ int opal_hwloc_base_cset2mapstr(char *str, int len,
19681972 socket -> cpuset ,
19691973 HWLOC_OBJ_CORE , ++ core_index )) {
19701974 if (core_index > 0 ) {
1971- strncat (str , "/" , len - strlen (str ));
1975+ strncat (str , "/" , len - strlen (str ) - 1 );
19721976 }
19731977
19741978 /* Iterate over all existing PUs in this core */
@@ -1983,13 +1987,13 @@ int opal_hwloc_base_cset2mapstr(char *str, int len,
19831987
19841988 /* Is this PU in the cpuset? */
19851989 if (hwloc_bitmap_isset (cpuset , pu -> os_index )) {
1986- strncat (str , "B" , len - strlen (str ));
1990+ strncat (str , "B" , len - strlen (str ) - 1 );
19871991 } else {
1988- strncat (str , "." , len - strlen (str ));
1992+ strncat (str , "." , len - strlen (str ) - 1 );
19891993 }
19901994 }
19911995 }
1992- strncat (str , "]" , len - strlen (str ));
1996+ strncat (str , "]" , len - strlen (str ) - 1 );
19931997 }
19941998
19951999 return OPAL_SUCCESS ;
0 commit comments