e_log: use strncpy instead of strcpy for better security 78/69678/3 accepted/tizen/common/20160517.173956 accepted/tizen/ivi/20160517.032610 accepted/tizen/mobile/20160517.032840 accepted/tizen/tv/20160517.032639 accepted/tizen/wearable/20160517.032706 submit/tizen/20160516.114211
authorMinJeong Kim <minjjj.kim@samsung.com>
Mon, 16 May 2016 10:08:09 +0000 (19:08 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Mon, 16 May 2016 11:05:54 +0000 (04:05 -0700)
Change-Id: If4ee6ef2b934219511450464a79473f9bcc53d70
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/bin/e_log.c

index 326d98eef56c1a7acc2084aa6305c273e29b1108..60411b4336e17f7f607cdee44383ee9e792f8a46 100644 (file)
@@ -21,35 +21,38 @@ _e_log_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, cons
 #ifdef HAVE_DLOG
    if (_dlog_enabled)
      {
-        int log_level;
+        int log_level, len = 0;
         const char buf[512];
         char tmp_log_level[512];
 
+        len =  sizeof(tmp_log_level) - 1;
+        tmp_log_level[len] = '\0';
+
         switch (level)
           {
            case EINA_LOG_LEVEL_CRITICAL:
               log_level = DLOG_FATAL;
-              strcpy(tmp_log_level, "FATAL");
+              strncpy(tmp_log_level, "FATAL", len);
               break;
            case EINA_LOG_LEVEL_ERR:
               log_level = DLOG_ERROR;
-              strcpy(tmp_log_level, "ERROR");
+              strncpy(tmp_log_level, "ERROR", len);
               break;
            case EINA_LOG_LEVEL_WARN:
               log_level = DLOG_WARN;
-              strcpy(tmp_log_level, "WARNING");
+              strncpy(tmp_log_level, "WARNING", len);
               break;
            case EINA_LOG_LEVEL_INFO:
               log_level = DLOG_INFO;
-              strcpy(tmp_log_level, "INFO");
+              strncpy(tmp_log_level, "INFO", len);
               break;
            case EINA_LOG_LEVEL_DBG:
               log_level = DLOG_DEBUG;
-              strcpy(tmp_log_level, "DEBUG");
+              strncpy(tmp_log_level, "DEBUG", len);
               break;
            default:
               log_level = DLOG_VERBOSE;
-              strcpy(tmp_log_level, "VERBOSE");
+              strncpy(tmp_log_level, "VERBOSE", len);
               break;
           }