From 3d59f763b824ac11f8360931092baf0bc1719562 Mon Sep 17 00:00:00 2001
From: Juro Bystricky <juro.bystricky@intel.com>
Date: Mon, 19 Mar 2018 22:31:20 -0700
Subject: [PATCH] fix segmentation fault in precompiled header generation

Prevent a segmentation fault which occurs when using incorrect
structure trying to access name of some named operators, such as
CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
those cases, as is may not be initialized at all.

[YOCTO #11738]

Upstream-Status: Pending

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 libcpp/lex.c | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/libcpp/lex.c b/libcpp/lex.c
index 06bcc31c87e..24bed9a35fa 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -3531,11 +3531,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
     spell_ident:
     case SPELL_IDENT:
       if (forstring)
-	{
-	  memcpy (buffer, NODE_NAME (token->val.node.spelling),
-		  NODE_LEN (token->val.node.spelling));
-	  buffer += NODE_LEN (token->val.node.spelling);
-	}
+        {
+          if (token->type == CPP_NAME)
+            {
+              memcpy (buffer, NODE_NAME (token->val.node.spelling),
+                    NODE_LEN (token->val.node.spelling));
+              buffer += NODE_LEN (token->val.node.spelling);
+              break;
+            }
+          /* NAMED_OP, cannot use node.spelling */
+          if (token->flags & NAMED_OP)
+            {
+              const char *str = cpp_named_operator2name (token->type);
+              if (str)
+                {
+                  size_t len = strlen(str);
+                  memcpy(buffer, str, len);
+                  buffer += len;
+                }
+              break;
+            }
+        }
       else
 	buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
       break;
