raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=344a6acc364250c37ca4aa3ea28589882fdf6999

commit 344a6acc364250c37ca4aa3ea28589882fdf6999
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Thu May 14 12:18:00 2020 +0100

    e env var config fialog - fix potential null access
    
    coverity complained. it's right. fix CID 1428807
---
 src/modules/conf_paths/e_int_config_env.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/modules/conf_paths/e_int_config_env.c 
b/src/modules/conf_paths/e_int_config_env.c
index bfcfa939c..96348f066 100644
--- a/src/modules/conf_paths/e_int_config_env.c
+++ b/src/modules/conf_paths/e_int_config_env.c
@@ -150,17 +150,24 @@ _sel_cb(void *data)
 static const char *
 _env_text(E_Config_Env_Var *evr)
 {
-   static Eina_Slstr *text;
+   static Eina_Slstr *text = "";
    char *val;
 
-   val = strndup(evr->val, 64);
+   if (evr->val) val = strndup(evr->val, 64);
+   else val = strdup("");
 
-   if (strlen(evr->val) > 64)
-     text = eina_slstr_printf("%s=%s...", evr->var, val);
+   if (val)
+     {
+        if (strlen(evr->val) > 64)
+          text = eina_slstr_printf("%s=%s...", evr->var, val);
+        else
+          text = eina_slstr_printf("%s=%s", evr->var, val);
+        free(val);
+     }
    else
-     text = eina_slstr_printf("%s=%s", evr->var, val);
-
-   free(val);
+     {
+        text = eina_slstr_printf("%s", evr->var);
+     }
 
    return text;
 }

-- 


Reply via email to