Fixed potential NULL deref in eclipse lexer.
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Mon, 8 Dec 2014 16:39:26 +0000 (17:39 +0100)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Mon, 8 Dec 2014 16:39:29 +0000 (17:39 +0100)
usr/skb/eclipse_kernel/src/lex.c

index a22ceec..a9a2ed4 100644 (file)
@@ -1308,7 +1308,9 @@ p_read_token_(value vs, type ts, value v, type t, value vc, type tc, value vm, t
        default:                /* LexError() */
            len = token.term.val.nint;
            Make_Stack_String(len, token.term.val, s)
-           Copy_Bytes(s, token.string, len + 1);
+            if (token.string) {
+                Copy_Bytes(s, token.string, len + 1);
+            }
            token.term.tag.kernel = TSTRG;
             break;
 
@@ -1341,6 +1343,7 @@ p_read_token_(value vs, type ts, value v, type t, value vc, type tc, value vm, t
 
        case IDENTIFIER:
        case QIDENTIFIER:
+            assert(token.string);
            token.term.val.did = enter_dict_n(token.string, token.term.val.nint, 0);
            token.term.tag.kernel = token.term.val.did == d_.nil ? TNIL : TDICT;
            break;