This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project wmaker-crm.git.

The branch, next has been updated
       via  b431dcc39929aaef1951d22216accc7512e20830 (commit)
       via  ecbee34f3ac41b5088d83fa02322a6b40985a29a (commit)
       via  35b912dd259ed1b1530a70217d2640ce76eba2e6 (commit)
       via  d90c8d5370fc658b962671c534929972c832a61f (commit)
       via  8e9c06627df461e59c21d1086f18f96077c9acd4 (commit)
       via  36ac3b33447660418f3e602fab82fae088b26b54 (commit)
       via  7c142f54d0d3c8b54407b11af1d604d6349ec7ea (commit)
       via  3250826215b0d346ef47e46008450c1c85dba067 (commit)
       via  e5ebe0cb92a72538e195724e351dad905e7ee1db (commit)
       via  9cef8c882e435df924741da38a8e96d9db114972 (commit)
       via  1a9ece0438c4220a599c446eadd1bf069e66f75b (commit)
       via  f2a7f233e3ce1aefafb216d5d4e768da2776ded1 (commit)
       via  75511e2ec829cc2ffed94a87fbc2861b8ccb5056 (commit)
       via  2e7ca448ae340392f3e15cdceaed02c3419edbc2 (commit)
       via  b5e2821c3e29fd04f56219243f91eeec43af4ea2 (commit)
       via  b9eb99ca732345a3fb32690d53b301f42aaf881a (commit)
      from  382337c980ce7bb57f3859a86cfb3cf45a479965 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://repo.or.cz/w/wmaker-crm.git/commit/b431dcc39929aaef1951d22216accc7512e20830

commit b431dcc39929aaef1951d22216accc7512e20830
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:31 2014 +0200

    util: cosmetic updates to the list of terminals for wmmenugen
    
    Added a comment to describe each terminal, so it will be easier to maintain
    the list in the future; added const attributes to help compiler generate
    better code; changed list parsing to use the size of the array instead of
    a null pointer mark for better compiled result.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmmenugen_misc.c b/util/wmmenugen_misc.c
index 21c485c3..161a32e0 100644
--- a/util/wmmenugen_misc.c
+++ b/util/wmmenugen_misc.c
@@ -26,10 +26,20 @@
 
 #include <WINGs/WUtil.h>
 
-static char *terminals[] = {
-       "x-terminal-emulator", "aterm","eterm", "gnome-terminal", "konsole",
-       "kterm", "mlterm", "rxvt", "mrxvt", "pterm", "xterm", "dtterm",
-       NULL
+
+static const char *const terminals[] = {
+       "x-terminal-emulator", /* Debian wrapper to launch user's prefered X 
terminal */
+       "aterm",    /* AfterStep's X terminal, which provides "transparency" */
+       "eterm",    /* Enlightenment's terminal, designed for eye-candyness 
(and efficiency) */
+       "gnome-terminal",      /* GNOME project's terminal */
+       "konsole",  /* KDE project's terminals */
+       "kterm",    /* a Multi-Lingual Terminal based on xterm, originally by 
Katsuya Sano */
+       "mlterm",   /* a Multi-Lingual Terminal emulator written from scratch */
+       "rxvt",     /* a slimmed-down xterm */
+       "mrxvt",    /* rxvt with support for tabs amongst other things */
+       "pterm",    /* terminal based on PuTTY, a popular SSH client for 
Windows */
+       "xterm",    /* the standard terminal provided by the X Window System */
+       "dtterm"    /* provided by CDE, a frequent Desktop Environment in 
proprietary UNIXs */
 };
 
 /* pick a terminal emulator by finding the first existing entry of `terminals'
@@ -50,7 +60,7 @@ char *find_terminal_emulator(void)
        if (!path)
                return NULL;
 
-       for (i = 0; terminals[i]; i++) {
+       for (i = 0; i < wlengthof(terminals); i++) {
                t = wfindfile(path, terminals[i]);
                if (t) {
                        wfree(t);

http://repo.or.cz/w/wmaker-crm.git/commit/ecbee34f3ac41b5088d83fa02322a6b40985a29a

commit ecbee34f3ac41b5088d83fa02322a6b40985a29a
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:30 2014 +0200

    Removed definitions of dangerous macro RETRY that does not work as expected
    
    This macro supposes that the called lib function clears the 'errno'
    variable on success which is not the case. The macro was (luckily) not
    used in these file yet, by removing it we make sure it won't happen.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/WINGs/wcolorpanel.c b/WINGs/wcolorpanel.c
index 60655cdf..0653be6a 100644
--- a/WINGs/wcolorpanel.c
+++ b/WINGs/wcolorpanel.c
@@ -36,9 +36,6 @@
 #include <sys/stat.h>
 #include <dirent.h>
 
-#define        RETRY( x )      do {                            -               
                x;                      -                       } while (errno 
== EINTR);
 
 /* BUG There's something fishy with shaped windows */
 /* Whithout shape extension the magnified image is completely broken -Dan */
diff --git a/util/getstyle.c b/util/getstyle.c
index 08909a84..bf321c30 100644
--- a/util/getstyle.c
+++ b/util/getstyle.c
@@ -48,10 +48,6 @@
 
 #include "common.h"
 
-#define        RETRY( x )      do {                            -               
                x;                      -                       } while (errno 
== EINTR);
-
 #ifndef PATH_MAX
 #define PATH_MAX  1024
 #endif

http://repo.or.cz/w/wmaker-crm.git/commit/35b912dd259ed1b1530a70217d2640ce76eba2e6

commit 35b912dd259ed1b1530a70217d2640ce76eba2e6
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:29 2014 +0200

    util: rewrote path building in makeThemePack
    
    Use a better name for local variable and allocate the (almost) correct
    number of characters for the path instead of a fixed offset that could be
    a problem if the constant part of the path were to be updated.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/getstyle.c b/util/getstyle.c
index 7c8f00b4..08909a84 100644
--- a/util/getstyle.c
+++ b/util/getstyle.c
@@ -181,6 +181,9 @@ static void findCopyFile(const char *dir, const char *file)
        free(fullPath);
 }
 
+#define THEME_SUBPATH "/Library/WindowMaker/Themes/"
+#define THEME_EXTDIR  ".themed/"
+
 static void makeThemePack(WMPropList * style, const char *themeName)
 {
        WMPropList *keys;
@@ -189,13 +192,16 @@ static void makeThemePack(WMPropList * style, const char 
*themeName)
        int i;
        size_t themeNameLen;
        char *themeDir;
-       const char *t;
+       const char *user_base;
 
-       if ((t = wusergnusteppath()) == NULL)
+       user_base = wusergnusteppath();
+       if (user_base == NULL)
                return;
-       themeNameLen = strlen(t) + strlen(themeName) + 50;
+       themeNameLen = strlen(user_base) + sizeof(THEME_SUBPATH) + 
strlen(themeName) + sizeof(THEME_EXTDIR) + 1;
        themeDir = wmalloc(themeNameLen);
-       snprintf(themeDir, themeNameLen, 
"%s/Library/WindowMaker/Themes/%s.themed/", t, themeName);
+       snprintf(themeDir, themeNameLen,
+                "%s" THEME_SUBPATH "%s" THEME_EXTDIR,
+                user_base, themeName);
        ThemePath = themeDir;
 
        if (!wmkdirhier(themeDir)) {

http://repo.or.cz/w/wmaker-crm.git/commit/d90c8d5370fc658b962671c534929972c832a61f

commit d90c8d5370fc658b962671c534929972c832a61f
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:28 2014 +0200

    util: add check for size validity (Coverity #50224)
    
    As pointed by Coverity, when reading the size of data using 'readmsg' that
    size cannot be fully trusted (possibly in case of bugs in present case),
    so this patch adds a check to ensure it is valid before continuing.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmsetbg.c b/util/wmsetbg.c
index 67479509..c25d60bf 100644
--- a/util/wmsetbg.c
+++ b/util/wmsetbg.c
@@ -918,6 +918,14 @@ static noreturn void helperLoop(RContext * rc)
                memcpy(buf, buffer, 4);
                buf[4] = 0;
                size = atoi(buf);
+               if (size < 0 || size > sizeof(buffer)) {
+                       wfatal("received invalid size %d for message from 
WindowMaker", size);
+                       quit(1);
+               }
+               if (size == 0) {
+                       werror("received 0-sized message from WindowMaker, 
trying to continue");
+                       continue;
+               }
 
                /* get message */
                if (readmsg(0, buffer, size) < 0) {

http://repo.or.cz/w/wmaker-crm.git/commit/8e9c06627df461e59c21d1086f18f96077c9acd4

commit 8e9c06627df461e59c21d1086f18f96077c9acd4
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:27 2014 +0200

    util: replaced sprintf with snprintf to avoid buffer overflow (Coverity 
#50220)
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wxcopy.c b/util/wxcopy.c
index 90303fb0..d7e01b6c 100644
--- a/util/wxcopy.c
+++ b/util/wxcopy.c
@@ -121,7 +121,10 @@ int main(int argc, char **argv)
                file = fopen(filename, "rb");
                if (!file) {
                        char line[1024];
-                       sprintf(line, "%s: could not open "%s"", __progname, 
filename);
+
+                       snprintf(line, sizeof(line),
+                                "%s: could not open "%s"",
+                                __progname, filename);
                        perror(line);
                        exit(1);
                }

http://repo.or.cz/w/wmaker-crm.git/commit/36ac3b33447660418f3e602fab82fae088b26b54

commit 36ac3b33447660418f3e602fab82fae088b26b54
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:26 2014 +0200

    util: fix possible buffer overrun in the function that create L2 menus 
(Coverity #50219)
    
    As pointed by Coverity, the buffer used to store the command for the menu
    has a fixed size, so a check is welcome to avoid buffer overflow.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmgenmenu.c b/util/wmgenmenu.c
index aff43a70..95c20e5c 100644
--- a/util/wmgenmenu.c
+++ b/util/wmgenmenu.c
@@ -419,7 +419,9 @@ static void find_and_write(const char *group, char 
*list[][2], int this_is_termi
                        } else {
                                char comm[PATH_MAX], *ptr;
 
-                               strcpy(comm, list[i][1]);
+                               strncpy(comm, list[i][1], sizeof(comm) - 1);
+                               comm[sizeof(comm) - 1] = '0';
+
                                /* delete character " !" from the command */
                                ptr = strchr(comm, '!');
                                while (ptr >= comm && (*ptr == '!' || 
isspace(*ptr)))

http://repo.or.cz/w/wmaker-crm.git/commit/7c142f54d0d3c8b54407b11af1d604d6349ec7ea

commit 7c142f54d0d3c8b54407b11af1d604d6349ec7ea
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:25 2014 +0200

    util: add proper check for null pointer in wmsetbg (Coverity #50198)
    
    As pointed by Coverity, it is possible that the variable 'image' remains
    NULL in the function parseTexture, so this case must be checked
    appropriately where it is used.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmsetbg.c b/util/wmsetbg.c
index 6ba2a8a5..67479509 100644
--- a/util/wmsetbg.c
+++ b/util/wmsetbg.c
@@ -526,9 +526,8 @@ static BackgroundTexture *parseTexture(RContext * rc, char 
*text)
                        rcolor.blue = 0;
                }
                /* for images with a transparent color */
-               if (image->data[3]) {
+               if (image && image->data[3])
                        RCombineImageWithColor(image, &rcolor);
-               }
 
                switch (toupper(type[0])) {
                case 'T':
@@ -539,8 +538,6 @@ static BackgroundTexture *parseTexture(RContext * rc, char 
*text)
                                RReleaseImage(image);
                                goto error;
                        }
-                       if (image)
-                               RReleaseImage(image);
 
                        texture->pixmap = pixmap;
                        texture->color = color;
@@ -560,6 +557,9 @@ static BackgroundTexture *parseTexture(RContext * rc, char 
*text)
                                texture->width = scrWidth;
                                texture->height = scrHeight;
 
+                               if (!image)
+                                       break;
+
 #ifdef USE_XINERAMA
                                if (xineInfo.count && ! xineStretch) {
                                        int i;
@@ -575,10 +575,12 @@ static BackgroundTexture *parseTexture(RContext * rc, 
char *text)
 #else                          /* !USE_XINERAMA */
                                applyImage(rc, texture, image, type[0], 0, 0, 
scrWidth, scrHeight);
 #endif                         /* !USE_XINERAMA */
-                               RReleaseImage(image);
                        }
                        break;
                }
+               if (image)
+                       RReleaseImage(image);
+
        } else if (strcasecmp(type, "thgradient") == 0
                   || strcasecmp(type, "tvgradient") == 0 || strcasecmp(type, 
"tdgradient") == 0) {
                XColor color;

http://repo.or.cz/w/wmaker-crm.git/commit/3250826215b0d346ef47e46008450c1c85dba067

commit 3250826215b0d346ef47e46008450c1c85dba067
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:24 2014 +0200

    util: fix leaks in wmsetbg's changeTextureForWorkspace (Coverity #50169)
    
    As pointed by Coverity, some locally created PropList objects are not freed
    when the function returns. The truth is their refCount is 1 more than what
    they should be, but that's more than what Coverity can detect today.
    
    This patch adds the appropriate release calls when they are not needed
    anymore, which will actually not free them but get their refCount right so
    they will be freed as soon as the PropList in which they are used are
    released.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmsetbg.c b/util/wmsetbg.c
index 41e1d116..6ba2a8a5 100644
--- a/util/wmsetbg.c
+++ b/util/wmsetbg.c
@@ -1196,6 +1196,8 @@ static void changeTextureForWorkspace(const char *domain, 
char *texture, int wor
                        WMAddToPLArray(array, empty);
                }
                WMAddToPLArray(array, val);
+
+               WMReleasePropList(empty);
        } else {
                WMDeleteFromPLArray(array, workspace);
                WMInsertInPLArray(array, workspace, val);
@@ -1203,6 +1205,8 @@ static void changeTextureForWorkspace(const char *domain, 
char *texture, int wor
 
        value = WMGetPropListDescription(array, False);
        updateDomain(domain, "WorkspaceSpecificBack", value);
+
+       WMReleasePropList(array);
 }
 
 int main(int argc, char **argv)

http://repo.or.cz/w/wmaker-crm.git/commit/e5ebe0cb92a72538e195724e351dad905e7ee1db

commit e5ebe0cb92a72538e195724e351dad905e7ee1db
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:23 2014 +0200

    util: fixed memleak in wmsetbg's updateDomain (Coverity #50167)
    
    As pointed by Coverity, the function wstrconcat is allocating memory to
    return its result, which is not freed in old coding of the function.
    
    This patch uses a local storage buffer to have a simpler code to generate
    the command to bu run with 'system' without leak.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmsetbg.c b/util/wmsetbg.c
index 80a845e2..41e1d116 100644
--- a/util/wmsetbg.c
+++ b/util/wmsetbg.c
@@ -992,13 +992,14 @@ static void updateDomain(const char *domain, const char 
*key, const char *textur
 {
        int result;
        char *program = "wdwrite";
+       char cmd_smooth[1024];
 
-       /* here is a mem leak */
-       result = system(wstrconcat("wdwrite ",
-                         wstrconcat(domain, smooth ? " SmoothWorkspaceBack 
YES" : " SmoothWorkspaceBack NO")));
-
+       snprintf(cmd_smooth, sizeof(cmd_smooth),
+                "wdwrite %s SmoothWorkspaceBack %s",
+                domain, smooth ? "YES" : "NO");
+       result = system(cmd_smooth);
        if (result == -1)
-               werror("error executing system command");
+               werror("error executing system("%s")", cmd_smooth);
 
        execlp(program, program, domain, key, texture, NULL);
        wwarning("warning could not run "%s"", program);

http://repo.or.cz/w/wmaker-crm.git/commit/9cef8c882e435df924741da38a8e96d9db114972

commit 9cef8c882e435df924741da38a8e96d9db114972
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:22 2014 +0200

    util: fix image leak in wmsebg's parseTexture (Coverity #50166)
    
    As pointed by Coverity, in some case of texture with image that needs to
    be scaled the temporary scaled image would be leaked if and error occured
    during its conversion.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmsetbg.c b/util/wmsetbg.c
index b363c201..80a845e2 100644
--- a/util/wmsetbg.c
+++ b/util/wmsetbg.c
@@ -230,6 +230,8 @@ applyImage(RContext * rc, BackgroundTexture * texture, 
RImage * image, char type
 
                        if (!RConvertImage(rc, image, &pixmap)) {
                                wwarning("could not convert texture:%s", 
RMessageForError(RErrorCode));
+                               if (fimage)
+                                       RReleaseImage(image);
                                return;
                        }
 

http://repo.or.cz/w/wmaker-crm.git/commit/1a9ece0438c4220a599c446eadd1bf069e66f75b

commit 1a9ece0438c4220a599c446eadd1bf069e66f75b
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:21 2014 +0200

    util: fix leak in getstyle's makeThemePack (Coverity #50164)
    
    As pointed by Coverity, the function is creating a temporary array with
    the list of keys of the Style dictionnary, but it was not freed in the end.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/getstyle.c b/util/getstyle.c
index 079b7d40..7c8f00b4 100644
--- a/util/getstyle.c
+++ b/util/getstyle.c
@@ -279,6 +279,7 @@ static void makeThemePack(WMPropList * style, const char 
*themeName)
                        }
                }
        }
+       WMReleasePropList(keys);
 }
 
 int main(int argc, char **argv)

http://repo.or.cz/w/wmaker-crm.git/commit/f2a7f233e3ce1aefafb216d5d4e768da2776ded1

commit f2a7f233e3ce1aefafb216d5d4e768da2776ded1
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:20 2014 +0200

    util: remove unnecesary allocation in addWMMenuEntryCallback (Coverity 
#50161)
    
    As pointed by Coverity, the string passed to 'findPositionInMenu' is not
    freed, and as the function does not modify it it is not necessary to
    allocate a new storage for the argument.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmmenugen.c b/util/wmmenugen.c
index 47771f56..8dbe4263 100644
--- a/util/wmmenugen.c
+++ b/util/wmmenugen.c
@@ -175,7 +175,7 @@ static void addWMMenuEntryCallback(WMMenuEntry *aEntry)
        }
 
        if (aEntry->SubMenu)
-               at = findPositionInMenu(wstrdup(aEntry->SubMenu));
+               at = findPositionInMenu(aEntry->SubMenu);
 
        if (!at)
                at = menu;

http://repo.or.cz/w/wmaker-crm.git/commit/75511e2ec829cc2ffed94a87fbc2861b8ccb5056

commit 75511e2ec829cc2ffed94a87fbc2861b8ccb5056
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:19 2014 +0200

    util: fix leak in setstyle (Coverity #50151+#50152)
    
    As pointed by Coverity, there are a few cases where the list of the keys
    of a dictionary is being requested, but at the end the array that was
    created to hold these keys was not freed.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/setstyle.c b/util/setstyle.c
index 095c0604..afd7b497 100644
--- a/util/setstyle.c
+++ b/util/setstyle.c
@@ -203,6 +203,7 @@ static void hackPaths(WMPropList * style, const char 
*prefix)
                }
        }
 
+       WMReleasePropList(keys);
 }
 
 static WMPropList *getColor(WMPropList * texture)
@@ -313,6 +314,7 @@ static void hackStyle(WMPropList * style)
                        }
                }
        }
+       WMReleasePropList(keys);
 
        if (!foundIconTitle) {
                /* set the default values */

http://repo.or.cz/w/wmaker-crm.git/commit/2e7ca448ae340392f3e15cdceaed02c3419edbc2

commit 2e7ca448ae340392f3e15cdceaed02c3419edbc2
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:18 2014 +0200

    util: fix misleading indentation in assemblePLMenuFunc (Coverity #50094)
    
    As pointed by Coverity, the indentation for a block of code could lead to
    misinterpretation on when it is executed. To make code safer, re-indented
    the code properly and added some blank lines for clarity.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmmenugen.c b/util/wmmenugen.c
index 2348769b..47771f56 100644
--- a/util/wmmenugen.c
+++ b/util/wmmenugen.c
@@ -239,17 +239,19 @@ static void assemblePLMenuFunc(WMTreeNode *aNode, void 
*data)
                        );
                } else {                                /* plain simple command 
*/
                        char buf[1024];
+
                        memset(buf, 0, sizeof(buf));
                        if (wm->Flags & F_TERMINAL)     /* XXX: quoting! */
                                snprintf(buf, sizeof(buf), "%s -e "%s"", 
terminal, wm->CmdLine);
                        else
                                snprintf(buf, sizeof(buf), "%s", wm->CmdLine);
-                               WMAddToPLArray(pl, WMCreatePLArray(
-                                       WMCreatePLString(wm->Name),
-                                       WMCreatePLString("SHEXEC"),
-                                       WMCreatePLString(buf),
-                                       NULL)
-                               );
+
+                       WMAddToPLArray(pl, WMCreatePLArray(
+                               WMCreatePLString(wm->Name),
+                               WMCreatePLString("SHEXEC"),
+                               WMCreatePLString(buf),
+                               NULL)
+                       );
                }
                WMAddToArray(plMenuNodes, pl);
        }

http://repo.or.cz/w/wmaker-crm.git/commit/b5e2821c3e29fd04f56219243f91eeec43af4ea2

commit b5e2821c3e29fd04f56219243f91eeec43af4ea2
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:17 2014 +0200

    util: removed unnecessary RReleaseImage in wmsetbg (Coverity #50077)
    
    As pointed by Coverity, it is not useful to call RReleaseImage if we are in
    the branch of code where we know that the image for which it is being
    called is NULL.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmsetbg.c b/util/wmsetbg.c
index 785aa1ba..b363c201 100644
--- a/util/wmsetbg.c
+++ b/util/wmsetbg.c
@@ -646,7 +646,6 @@ static BackgroundTexture *parseTexture(RContext * rc, char 
*text)
 
                if (!gradient) {
                        wwarning("could not render texture:%s", 
RMessageForError(RErrorCode));
-                       RReleaseImage(gradient);
                        RReleaseImage(image);
                        goto error;
                }

http://repo.or.cz/w/wmaker-crm.git/commit/b9eb99ca732345a3fb32690d53b301f42aaf881a

commit b9eb99ca732345a3fb32690d53b301f42aaf881a
Author: Christophe CURIS <christophe.cu...@free.fr>
Date:   Mon Jun 16 20:15:16 2014 +0200

    util: simplify the code for 'find_terminal_emulator' (Coverity #50076)
    
    As pointed by Coverity, the code was making an explicit use of a null
    pointer, which is certainly not what was initially expected. The code was
    simplified to fix the case and to make it easier to understand and
    maintain.
    
    Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>

diff --git a/util/wmmenugen_misc.c b/util/wmmenugen_misc.c
index 694ef8bf..21c485c3 100644
--- a/util/wmmenugen_misc.c
+++ b/util/wmmenugen_misc.c
@@ -39,16 +39,12 @@ static char *terminals[] = {
  */
 char *find_terminal_emulator(void)
 {
-       char *path, *t, *ret;
+       char *path, *t;
        int i;
 
-       path = t = ret = NULL;
-
        t = getenv("WMMENU_TERMINAL");
-       if (t) {
-               ret = wstrdup(t);
-               return ret;
-       }
+       if (t)
+               return wstrdup(t);
 
        path = getenv("PATH");
        if (!path)
@@ -56,18 +52,13 @@ char *find_terminal_emulator(void)
 
        for (i = 0; terminals[i]; i++) {
                t = wfindfile(path, terminals[i]);
-               if (t)
-                       break;
+               if (t) {
+                       wfree(t);
+                       return wstrdup(terminals[i]);
+               }
        }
 
-       if (t)
-               ret = wstrdup(basename(t));
-       else
-               ret = wstrdup(t);
-
-       wfree(t);
-
-       return ret;
+       return NULL;
 }
 
 /* tokenize `what' (LC_MESSAGES or LANG if `what' is NULL) in the form of

-----------------------------------------------------------------------

Summary of changes:
 WINGs/wcolorpanel.c   |    3 ---
 util/getstyle.c       |   19 +++++++++++--------
 util/setstyle.c       |    2 ++
 util/wmgenmenu.c      |    4 +++-
 util/wmmenugen.c      |   16 +++++++++-------
 util/wmmenugen_misc.c |   45 +++++++++++++++++++++++----------------------
 util/wmsetbg.c        |   38 +++++++++++++++++++++++++++-----------
 util/wxcopy.c         |    5 ++++-
 8 files changed, 79 insertions(+), 53 deletions(-)


repo.or.cz automatic notification. Contact project admin crma...@gmail.com
if you want to unsubscribe, or site admin ad...@repo.or.cz if you receive
no reply.
-- 
wmaker-crm.git ("The Window Maker window manager")


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to