On Fri, Aug 17, 2007 at 07:41:08PM +0200, Pedro Martelletto wrote:

> Hi,
> 
> Revision 1.4 of x11/windowmaker/patches/patch-WINGs_string_c uncovered
> a bug in WPrefs, WindowMaker's configuration tool. The bug can be easily
> triggered by choosing the 'Applications Menu Definition' dialogue.
> 
> The problem is that WPrefs code relied on the fact that the first token
> in the array would not be free'd by wtokenfree(), a misbehaviour which
> was correctly addressed in the aforementioned change.
> 
> A proposed fix follows.
> 
> -p.

Just noticed exactly the same problem.  The diff fixes it.
 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/windowmaker/Makefile,v
> retrieving revision 1.71
> diff -u -r1.71 Makefile
> --- Makefile  25 Apr 2007 11:47:52 -0000      1.71
> +++ Makefile  17 Aug 2007 17:03:55 -0000
> @@ -5,7 +5,7 @@
>  
>  V=                   0.92.0
>  DISTNAME=            WindowMaker-${V}
> -PKGNAME-main=                ${DISTNAME:L}p6
> +PKGNAME-main=                ${DISTNAME:L}p7
>  FULLPKGNAME-lang=       windowmaker-lang-${V}p1
>  SHARED_LIBS=         wraster 5.0
>  CATEGORIES=          x11 x11/windowmaker
> Index: patches/patch-WPrefs_app_Menu_c
> ===================================================================
> RCS file: /cvs/ports/x11/windowmaker/patches/patch-WPrefs_app_Menu_c,v
> retrieving revision 1.3
> diff -u -r1.3 patch-WPrefs_app_Menu_c
> --- patches/patch-WPrefs_app_Menu_c   1 Nov 2005 17:28:34 -0000       1.3
> +++ patches/patch-WPrefs_app_Menu_c   17 Aug 2007 17:03:55 -0000
> @@ -1,6 +1,6 @@
>  $OpenBSD: patch-WPrefs_app_Menu_c,v 1.3 2005/11/01 17:28:34 wilfried Exp $
>  --- WPrefs.app/Menu.c.orig   Tue Oct 26 04:23:39 2004
> -+++ WPrefs.app/Menu.c        Mon Oct 31 18:55:49 2005
> ++++ WPrefs.app/Menu.c        Fri Aug 17 20:58:09 2007
>  @@ -577,7 +577,7 @@ createPanel(_Panel *p)
>           data->param.exec.command = "xv";
>   
> @@ -19,3 +19,11 @@
>           data->param.directory.stripExt = 1;
>   
>           data = putNewItem(panel, pad, DirectoryInfo, _("Bg Images 
> (scale)"));
> +@@ -1068,7 +1068,6 @@ parseCommand(WMPropList *item)
> + 
> +                 for (i = 0, j = 0; i < tokn; i++) {
> +                     if (strcmp(tokens[i], "-noext") == 0) {
> +-                        wfree(tokens[i]);
> +                         data->param.directory.stripExt = 1;
> +                     } else {
> +                         ctokens[j++] = tokens[i];
> 

-- 
Marcus Glocker, [EMAIL PROTECTED], [EMAIL PROTECTED]

Reply via email to