GNU bug report logs - #18734
[PATCH] vala: Improper parsing of valac arguments leads to garbage in DIST_COMMON

Previous Next

Package: automake;

Reported by: Colomban Wendling <lists.ban <at> herbesfolles.org>

Date: Wed, 15 Oct 2014 15:44:01 UTC

Severity: normal

Tags: patch

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18734 in the body.
You can then email your comments to 18734 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#18734; Package automake. (Wed, 15 Oct 2014 15:44:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Colomban Wendling <lists.ban <at> herbesfolles.org>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Wed, 15 Oct 2014 15:44:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Colomban Wendling <lists.ban <at> herbesfolles.org>
To: bug-automake <at> gnu.org
Subject: [PATCH] vala: Improper parsing of valac arguments leads to garbage
 in DIST_COMMON
Date: Wed, 15 Oct 2014 17:17:00 +0200
[Message part 1 (text/plain, inline)]
Hi,

The parsing of valac flags is too permissive and incorrectly matches
some input, possibly leading to garbage in DIST_COMMON -- and then,
build failures.

The problem is that parsing of valac flags uses a non-anchored pattern
and so any argument happening to be a subset of a parsed argument will
match it, e.g. `vapi` will match against `--vapi` or `--internal-vapi`.

E.g. when using the following:

	something_VALAFLAGS = --vapidir vapi --pkg foo

`--pkg` is recognized as an interesting argument (and so, added to
`DIST_COMMON`) because `vapi` (the argument for `--vapidir`) matched
against `--vapi`.

Please find attached a patch fixing the issue.

Regards,
Colomban
[0001-vala-Fix-parsing-valac-flags.patch (text/x-patch, attachment)]

Information forwarded to bug-automake <at> gnu.org:
bug#18734; Package automake. (Thu, 02 Apr 2020 01:14:02 GMT) Full text and rfc822 format available.

Message #8 received at 18734 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: lists.ban <at> herbesfolles.org
Cc: 18734 <at> debbugs.gnu.org
Subject: Re: bug#18734: [PATCH] vala: Improper parsing of valac arguments
 leads to garbage in DIST_COMMON
Date: Wed, 1 Apr 2020 19:13:04 -0600
Hi Colomban - back on your automake bug report from six years ago (sorry!):

    Date: Wed, 15 Oct 2014 17:17:00 +0200
    From: Colomban Wendling

    [...]
    The problem is that parsing of valac flags uses a non-anchored pattern
    and so any argument happening to be a subset of a parsed argument will
    match it, e.g. `vapi` will match against `--vapi` or `--internal-vapi`.

    [... patch ...]
    --- a/bin/automake.in
    +++ b/bin/automake.in
    @@ -5436,8 +5436,8 @@ sub lang_vala_finish_target
           foreach my $flag ($flags->value_as_list_recursive)
            {
    -	  if (grep (/$lastflag/, ('-H', '-h', '--header', '--internal-header',
    -	                          '--vapi', '--internal-vapi', '--gir')))
    +	  if (grep (/^$lastflag$/, ('-H', '-h', '--header', '--internal-header',
    +	                            '--vapi', '--internal-vapi', '--gir')))
                {

Indeed. I don't see a problem with applying your patch, but before I do,
I just wondered if anything else had come up with vala that needs to be
fixed? Please advise if you can. I've never used vala myself, so
wouldn't know. --thanks, karl.




Information forwarded to bug-automake <at> gnu.org:
bug#18734; Package automake. (Mon, 06 Apr 2020 00:40:02 GMT) Full text and rfc822 format available.

Message #11 received at 18734 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: lists.ban <at> herbesfolles.org
Cc: 18734 <at> debbugs.gnu.org
Subject: Re: bug#18734: [PATCH] vala: Improper parsing of valac arguments
 leads to garbage in DIST_COMMON
Date: Sun, 5 Apr 2020 18:39:01 -0600
    -	  if (grep (/$lastflag/, ('-H', '-h', '--header', '--internal-header',
    -	                          '--vapi', '--internal-vapi', '--gir')))
    +	  if (grep (/^$lastflag$/, ('-H', '-h', '--header', '--internal-header',
    +	                            '--vapi', '--internal-vapi', '--gir')))
                {

I installed this change and am closing the bug. Thanks. --karl




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Mon, 06 Apr 2020 00:40:02 GMT) Full text and rfc822 format available.

Notification sent to Colomban Wendling <lists.ban <at> herbesfolles.org>:
bug acknowledged by developer. (Mon, 06 Apr 2020 00:40:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 04 May 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 348 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.