aboutsummaryrefslogtreecommitdiffstats
path: root/main/mcpp/CVE-2019-14274.patch
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2020-04-17 12:44:08 +0200
committerSören Tempel <soeren+git@soeren-tempel.net>2020-04-17 12:54:25 +0200
commit8dc38ebaea189e1ada9a64ef29baba9e91e57799 (patch)
treefb342940711ed35d613ea57b9c8785224bc51c2c /main/mcpp/CVE-2019-14274.patch
parent70c5111c08c96861682fc21db445c066f5d9e328 (diff)
downloadaports-8dc38ebaea189e1ada9a64ef29baba9e91e57799.tar.gz
aports-8dc38ebaea189e1ada9a64ef29baba9e91e57799.tar.bz2
aports-8dc38ebaea189e1ada9a64ef29baba9e91e57799.tar.xz
main/mcpp: fix CVE-2019-14274
Patch taken from Debian.
Diffstat (limited to 'main/mcpp/CVE-2019-14274.patch')
-rw-r--r--main/mcpp/CVE-2019-14274.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/main/mcpp/CVE-2019-14274.patch b/main/mcpp/CVE-2019-14274.patch
new file mode 100644
index 0000000000..717b16fe9d
--- /dev/null
+++ b/main/mcpp/CVE-2019-14274.patch
@@ -0,0 +1,52 @@
+Description: Fix for a bug reported to sourceforge.net #13
+ by fixing error messages.
+ Also, fix erroneous messages.
+Author: NIIBE Yutaka
+
+Index: mcpp/src/support.c
+===================================================================
+--- mcpp.orig/src/support.c
++++ mcpp/src/support.c
+@@ -822,7 +822,7 @@ escape:
+ if (diag && iscntrl( c) && ((char_type[ c] & SPA) == 0)
+ && (warn_level & 1))
+ cwarn(
+- "Illegal control character %.0s0lx%02x in quotation" /* _W1_ */
++ "Illegal control character %.0s0x%02x in quotation" /* _W1_ */
+ , NULL, (long) c, NULL);
+ *out_p++ = c;
+ chk_limit:
+@@ -861,10 +861,10 @@ chk_limit:
+ if (mcpp_mode != POST_STD && option_flags.lang_asm) {
+ /* STD, KR */
+ if (warn_level & 1)
+- cwarn( unterm_char, out, 0L, NULL); /* _W1_ */
++ cwarn( unterm_char, NULL, (long)delim, NULL); /* _W1_ */
+ goto done;
+ } else {
+- cerror( unterm_char, out, 0L, skip); /* _E_ */
++ cerror( unterm_char, NULL, (long)delim, skip); /* _E_ */
+ }
+ } else {
+ cerror( "Unterminated header name %s%.0ld%s" /* _E_ */
+@@ -875,9 +875,9 @@ chk_limit:
+ if (mcpp_mode != POST_STD && option_flags.lang_asm) {
+ /* STD, KR */
+ if (warn_level & 1)
+- cwarn( empty_const, out, 0L, skip); /* _W1_ */
++ cwarn( empty_const, NULL, (long)delim, skip); /* _W1_ */
+ } else {
+- cerror( empty_const, out, 0L, skip); /* _E_ */
++ cerror( empty_const, NULL, (long)delim, skip); /* _E_ */
+ out_p = NULL;
+ goto done;
+ }
+@@ -1774,7 +1774,7 @@ not_comment:
+ default:
+ if (iscntrl( c)) {
+ cerror( /* Skip the control character */
+- "Illegal control character %.0s0x%lx, skipped the character" /* _E_ */
++ "Illegal control character %.0s0x%02x, skipped the character" /* _E_ */
+ , NULL, (long) c, NULL);
+ } else { /* Any valid character */
+ *tp++ = c;