Skip to content

Dep file parser seperator char#2602

Open
moritzx22 wants to merge 3 commits intoninja-build:masterfrom
moritzx22:depFileParserSeperator
Open

Dep file parser seperator char#2602
moritzx22 wants to merge 3 commits intoninja-build:masterfrom
moritzx22:depFileParserSeperator

Conversation

@moritzx22
Copy link
Contributor

Issue

The parser for the dependency files does not check the separation character between variable names.
Here an example:
foo.o: fo;o.c
this is parsed successfully by the parser and has the same result as:
foo.o: fo o.c
The ";" can be replaced with other characters, that are not considered valid characters as part of a variable name. Same effect.
see issues/2599. This issue is silently ignored.

Proposal

check the separation character to be part of a white list.
In this proposal it is suggested to be whitespaces [\t\v\f ] (to be checked).
the dep file
foo.o: fo;o.c
would case an error to ninja and would stop.

Performance

Some checks with the performance tool showed no significant changes.

to think about

The syntax will change for the deps file. I am just assuming that this is not a feature to have no checks for the separation character...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant