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  b2e7620868aa18cebb8f6d1e653f8c46dc959a34 (commit)
       via  9ad278ddf8c67f89574947b5f87c4e8ff5d047c5 (commit)
       via  ac52d4de6503bd22e3393e9a26bb1447c0576ff2 (commit)
       via  9f694b66b50ff39f906221466e1b1916da56f8a6 (commit)
      from  1fb452ea953e0a34142031b04f909dfb8cc1de8f (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/b2e7620868aa18cebb8f6d1e653f8c46dc959a34

commit b2e7620868aa18cebb8f6d1e653f8c46dc959a34
Author: Christophe CURIS <[email protected]>
Date:   Wed Jul 18 00:19:55 2012 +0200

    Menu parser: remove d-quotes around title of entry
    
    When a menu entry contains a space, it is necessary to enclose it
    in simple or double quotes; these were not removed and so would
    appear in the menu.

diff --git a/WINGs/menuparser.c b/WINGs/menuparser.c
index 881c4e8..97c6728 100644
--- a/WINGs/menuparser.c
+++ b/WINGs/menuparser.c
@@ -222,6 +222,21 @@ Bool WMenuParserGetLine(WMenuParser top_parser, char 
**title, char **command, ch
                }
        }
 
+       if (title != NULL) {
+               char eot, *src, *dst;
+
+               src = *title;
+               eot = *src++;
+               if ((eot == '"') || (eot == ''')) {
+                       dst = *title;
+                       while (*src != '0')
+                               *dst++ = *src++;
+                       if ((dst > *title) && (dst[-1] == eot))
+                               dst--;
+                       *dst = '0';
+               }
+       }
+
        if (params != NULL) {
                lineparam[sizeof(lineparam) - 1] = '0';
                *parameter = wstrdup(lineparam);

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

commit 9ad278ddf8c67f89574947b5f87c4e8ff5d047c5
Author: Christophe CURIS <[email protected]>
Date:   Wed Jul 18 00:02:22 2012 +0200

    Menu parser: added boundary checks in the path-gen for #include file search
    
    When generating the full path+name of file to search for a file
    being #included, it was generated in a buffer that's supposedly
    large enough (MAXLINE > 2*PATH_MAX). However, this limit has a few
    issues (PATH_MAX seem to be able to be bigger, and worse: we can't
    be sure we're given longer args).
    
    The code was rewrote to natively include boundary checks so we're
    sure we won't overflow the buffer. A few strncpy have been removed
    because in this case they tend to make things harder to write.

diff --git a/WINGs/menuparser.c b/WINGs/menuparser.c
index b196a00..881c4e8 100644
--- a/WINGs/menuparser.c
+++ b/WINGs/menuparser.c
@@ -474,22 +474,31 @@ static Bool menu_parser_include_file(WMenuParser parser)
        if (fh == NULL) {
                if (req_filename[0] != '/') {
                        const char *src;
+                       int idx;
 
                        fullfilename = buffer;
                        src = parser->include_default_paths;
                        while (*src != '0') {
-                               p = buffer;
+                               idx = 0;
                                if (*src == '~') {
                                        char *home = wgethomedir();
-                                       while (*home != '0')
-                                               *p++ = *home++;
+                                       while (*home != '0') {
+                                               if (idx < sizeof(buffer) - 2)
+                                                       buffer[idx++] = *home;
+                                               home++;
+                                       }
+                                       src++;
+                               }
+                               while ((*src != '0') && (*src != ':')) {
+                                       if (idx < sizeof(buffer) - 2)
+                                               buffer[idx++] = *src;
                                        src++;
                                }
-                               while ((*src != '0') && (*src != ':'))
-                                       *p++ = *src++;
-                               *p++ = '/';
-                               strncpy(p, req_filename, sizeof(buffer) - (p - 
buffer - 1));
-                               buffer[sizeof(buffer) - 1] = '0';
+                               buffer[idx++] = '/';
+                               for (p = req_filename; *p != '0'; p++)
+                                       if (idx < sizeof(buffer) - 1)
+                                               buffer[idx++] = *p;
+                               buffer[idx] = '0';
 
                                fh = fopen(fullfilename, "rb");
                                if (fh != NULL) goto found_valid_file;

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

commit ac52d4de6503bd22e3393e9a26bb1447c0576ff2
Author: Christophe CURIS <[email protected]>
Date:   Tue Jul 17 23:43:37 2012 +0200

    Menu parser: fix possible infinite loop when loading menu file
    
    When a #include is used, the file is searched in many places; when
    the file was searched in the ':'-separated list of path it could
    led to infinite loop if the list contained more than one path and
    that the file was not found in the first path, the ':' separator
    was not properly passed over.

diff --git a/WINGs/menuparser.c b/WINGs/menuparser.c
index 96555cd..b196a00 100644
--- a/WINGs/menuparser.c
+++ b/WINGs/menuparser.c
@@ -493,6 +493,9 @@ static Bool menu_parser_include_file(WMenuParser parser)
 
                                fh = fopen(fullfilename, "rb");
                                if (fh != NULL) goto found_valid_file;
+
+                               if (*src == ':')
+                                       src++;
                        }
                }
                WMenuParserError(parser, _("could not find file "%s" for 
include"), req_filename);

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

commit 9f694b66b50ff39f906221466e1b1916da56f8a6
Author: Christophe CURIS <[email protected]>
Date:   Wed Jul 18 23:23:50 2012 +0200

    Fixed warning in Debian's wrapper script for wmaker
    
    The Debian script for WindowMaker generates some warnings on startup
    due to 'find' being cautious about its options, updated them to be
    in line with expectations.

diff --git a/debian/debianfiles/wmaker b/debian/debianfiles/wmaker
index 8317563..eccc642 100644
--- a/debian/debianfiles/wmaker
+++ b/debian/debianfiles/wmaker
@@ -63,7 +63,7 @@ if [ -x $convertfonts -a ! -e "$wm_base/.fonts_converted" ] ; 
then
     if [ -f "$gs_defaults/WMGLOBAL" ] ; then
         $convertfonts --keep-xlfd "$gs_defaults/WMGLOBAL"
     fi
-    find "$wm_styles" -type f -print0 -mindepth 1 -maxdepth 1 |
+    find "$wm_styles" -mindepth 1 -maxdepth 1 -type f -print0 |
     xargs -0 -r -n 1 $convertfonts --keep-xlfd
     touch "$wm_base/.fonts_converted"
 fi

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

Summary of changes:
 WINGs/menuparser.c        |   43 +++++++++++++++++++++++++++++++++++--------
 debian/debianfiles/wmaker |    2 +-
 2 files changed, 36 insertions(+), 9 deletions(-)


repo.or.cz automatic notification. Contact project admin [email protected]
if you want to unsubscribe, or site admin [email protected] if you receive
no reply.
-- 
wmaker-crm.git ("The Window Maker window manager")


-- 
To unsubscribe, send mail to [email protected].

Reply via email to