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].