bufmgr: change useage of strncat 56/139356/4
authorSangjin Lee <lsj119@samsung.com>
Tue, 18 Jul 2017 12:07:43 +0000 (21:07 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 19 Jul 2017 05:54:59 +0000 (14:54 +0900)
When use the strncat(dest, src, n), n should be sizeof(n) - strlen(n) -1.

Change-Id: I126065fdc36af63753d000863597927403bf352c

src/tbm_bufmgr.c

index c7b4800..3e9790f 100644 (file)
@@ -77,6 +77,8 @@ static void _tbm_bufmgr_mutex_unlock(void);
 #define GET_MODULE_MINOR_VERSION(vers)    (((vers) >> 16) & 0xFF)
 #define GET_MODULE_PATCHLEVEL(vers)    ((vers) & 0xFFFF)
 
+#define MAX_SIZE_N(dest)       (sizeof(dest) - strlen(dest) - 1)
+
 /* check condition */
 #define TBM_BUFMGR_RETURN_IF_FAIL(cond) {\
        if (!(cond)) {\
@@ -1515,8 +1517,8 @@ tbm_bufmgr_debug_tbm_info_get(tbm_bufmgr bufmgr, char *str, int *len)
 
        if (!LIST_IS_EMPTY(&bufmgr->debug_key_list)) {
                LIST_FOR_EACH_ENTRY(debug_old_data, &bufmgr->debug_key_list, item_link) {
-                       strncat(title, "  ", 3);
-                       strncat(title, debug_old_data->key, strlen(debug_old_data->key) + 1);
+                       strncat(title, "  ", MAX_SIZE_N(title));
+                       strncat(title, debug_old_data->key, MAX_SIZE_N(title));
                }
        }
 
@@ -1561,13 +1563,13 @@ tbm_bufmgr_debug_tbm_info_get(tbm_bufmgr bufmgr, char *str, int *len)
                                LIST_FOR_EACH_ENTRY(debug_old_data, &bufmgr->debug_key_list, item_link) {
                                        char *value;
 
-                                       strncat(data, "  ", 3);
+                                       strncat(data, "  ", MAX_SIZE_N(title));
 
                                        value = _tbm_surface_internal_get_debug_data(surf, debug_old_data->key);
                                        if (value)
-                                               strncat(data, value, strlen(value) + 1);
+                                               strncat(data, value, MAX_SIZE_N(title));
                                        else
-                                               strncat(data, "none", 5);
+                                               strncat(data, "none", MAX_SIZE_N(title));
                                }
                        }
                        TBM_SNPRINTF(str, len, "%s\n", data);