This website works better with JavaScript.
Explore
Register
Sign In
kernel
/
dtc
mirror of
https://git.kernel.org/pub/scm/utils/dtc/dtc.git
Watch
1
Star
0
Fork
You've already forked dtc
0
Code
Issues
Projects
Releases
Wiki
Activity
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
703
Commits
2
Branches
23
Tags
1.7 MiB
Tree:
a1fe86f380
main
master
RHEL-7.4
dwg-last
v1.0.0
v1.0.0-rc1
v1.1.0
v1.1.0-rc1
v1.2.0
v1.2.0-rc1
v1.2.0-rc2
v1.3.0
v1.4.0
v1.4.1
v1.4.2
v1.4.3
v1.4.4
v1.4.5
v1.4.6
v1.4.7
v1.5.0
v1.5.1
v1.6.0
v1.6.1
v1.7.0
Branches
Tags
${ item.name }
Create tag
${ searchTerm }
Create branch
${ searchTerm }
from 'a1fe86f380'
${ noResults }
dtc
/
tests
/
nul-in-line-info2.dts
2 lines
9 B
Raw
Normal View
History
Unescape
Escape
Fix some bugs in processing of line directives In order to work with preprocessed dts files more easily, dts will parse line number information in the form emitted by cpp. Anton Blanchard (using a fuzzer) reported that including a line number directive with a nul character (a literal nul in the input file, not a \0 sequence) would cause dtc to SEGV. I spotted several more problems on examining the code: * It modified yytext in place which seems to work, but is ugly and I'm not sure if it's safe on all lex/flex versions * The regexp used in the lexer to recognize line number information accepts strings with escape characters, but it won't process these escapes. - GNU cpp at least, will generate \ escapes in line number information, at least with files containing " or \ in the name This patch reworks the handling of line number information to address these problems. \ escapes should now be handled directly. nuls in file names (either with a literal nul in the input file, or with a \0 escape sequence) are still not permitted, but will now result in a lexical error rather than a SEGV. Reported-by: Anton Blanchard <anton@samba.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
9 years ago
# 0 "\0"