summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc/0003-CVE-2021-42574.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc/0003-CVE-2021-42574.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc/0003-CVE-2021-42574.patch142
1 files changed, 0 insertions, 142 deletions
diff --git a/meta/recipes-devtools/gcc/gcc/0003-CVE-2021-42574.patch b/meta/recipes-devtools/gcc/gcc/0003-CVE-2021-42574.patch
deleted file mode 100644
index 2995a6fc61..0000000000
--- a/meta/recipes-devtools/gcc/gcc/0003-CVE-2021-42574.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 1a7f2c0774129750fdf73e9f1b78f0ce983c9ab3 Mon Sep 17 00:00:00 2001
-From: David Malcolm <dmalcolm@redhat.com>
-Date: Tue, 2 Nov 2021 09:54:32 -0400
-Subject: [PATCH] libcpp: escape non-ASCII source bytes in -Wbidi-chars=
- [PR103026]
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-This flags rich_locations associated with -Wbidi-chars= so that
-non-ASCII bytes will be escaped when printing the source lines
-(using the diagnostics support I added in
-r12-4825-gbd5e882cf6e0def3dd1bc106075d59a303fe0d1e).
-
-In particular, this ensures that the printed source lines will
-be pure ASCII, and thus the visual ordering of the characters
-will be the same as the logical ordering.
-
-Before:
-
- Wbidi-chars-1.c: In function âmainâ:
- Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
- 6 | /*â® } â¦if (isAdmin)⩠⦠begin admins only */
- | ^
- Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
- 9 | /* end admins only â® { â¦*/
- | ^
-
- Wbidi-chars-11.c:6:15: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 6 | int LRE_âª_PDF_\u202c;
- | ^
- Wbidi-chars-11.c:8:19: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 8 | int LRE_\u202a_PDF_â¬_;
- | ^
- Wbidi-chars-11.c:10:28: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 10 | const char *s1 = "LRE_âª_PDF_\u202c";
- | ^
- Wbidi-chars-11.c:12:33: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 12 | const char *s2 = "LRE_\u202a_PDF_â¬";
- | ^
-
-After:
-
- Wbidi-chars-1.c: In function âmainâ:
- Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
- 6 | /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
- | ^
- Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
- 9 | /* end admins only <U+202E> { <U+2066>*/
- | ^
-
- Wbidi-chars-11.c:6:15: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 6 | int LRE_<U+202A>_PDF_\u202c;
- | ^
- Wbidi-chars-11.c:8:19: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 8 | int LRE_\u202a_PDF_<U+202C>_;
- | ^
- Wbidi-chars-11.c:10:28: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 10 | const char *s1 = "LRE_<U+202A>_PDF_\u202c";
- | ^
- Wbidi-chars-11.c:12:33: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
- 12 | const char *s2 = "LRE_\u202a_PDF_<U+202C>";
- | ^
-
-libcpp/ChangeLog:
- PR preprocessor/103026
- * lex.c (maybe_warn_bidi_on_close): Use a rich_location
- and call set_escape_on_output (true) on it.
- (maybe_warn_bidi_on_char): Likewise.
-
-Signed-off-by: David Malcolm <dmalcolm@redhat.com>
-
-CVE: CVE-2021-42574
-Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=1a7f2c0774129750fdf73e9f1b78f0ce983c9ab3]
-Signed-off-by: Pgowda <pgowda.cve@gmail.com>
-
----
- libcpp/lex.c | 29 +++++++++++++++++------------
- 1 file changed, 17 insertions(+), 12 deletions(-)
-
-diff --git a/libcpp/lex.c b/libcpp/lex.c
-index 8188e33b07d..2421d6c0f40 100644
---- a/libcpp/lex.c
-+++ b/libcpp/lex.c
-@@ -1427,9 +1427,11 @@ maybe_warn_bidi_on_close (cpp_reader *pfile, const uchar *p)
- const location_t loc
- = linemap_position_for_column (pfile->line_table,
- CPP_BUF_COLUMN (pfile->buffer, p));
-- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
-- "unpaired UTF-8 bidirectional control character "
-- "detected");
-+ rich_location rich_loc (pfile->line_table, loc);
-+ rich_loc.set_escape_on_output (true);
-+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
-+ "unpaired UTF-8 bidirectional control character "
-+ "detected");
- }
- /* We're done with this context. */
- bidi::on_close ();
-@@ -1454,6 +1456,9 @@ maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
- const location_t loc
- = linemap_position_for_column (pfile->line_table,
- CPP_BUF_COLUMN (pfile->buffer, p));
-+ rich_location rich_loc (pfile->line_table, loc);
-+ rich_loc.set_escape_on_output (true);
-+
- /* It seems excessive to warn about a PDI/PDF that is closing
- an opened context because we've already warned about the
- opening character. Except warn when we have a UCN x UTF-8
-@@ -1462,20 +1467,20 @@ maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
- {
- if (warn_bidi == bidirectional_unpaired
- && bidi::current_ctx_ucn_p () != ucn_p)
-- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
-- "UTF-8 vs UCN mismatch when closing "
-- "a context by \"%s\"", bidi::to_str (kind));
-+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
-+ "UTF-8 vs UCN mismatch when closing "
-+ "a context by \"%s\"", bidi::to_str (kind));
- }
- else if (warn_bidi == bidirectional_any)
- {
- if (kind == bidi::kind::PDF || kind == bidi::kind::PDI)
-- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
-- "\"%s\" is closing an unopened context",
-- bidi::to_str (kind));
-+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
-+ "\"%s\" is closing an unopened context",
-+ bidi::to_str (kind));
- else
-- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
-- "found problematic Unicode character \"%s\"",
-- bidi::to_str (kind));
-+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
-+ "found problematic Unicode character \"%s\"",
-+ bidi::to_str (kind));
- }
- }
- /* We're done with this context. */
---
-2.27.0
-