[mcs] Resize identifier buffer in all cases. Fixes #28292
[mono.git] / mcs / mcs / cs-tokenizer.cs
index 38f992d652c756a84ae48418fa545fd9c92182d5..7593ed4433c6092ef3fe6e64fb00c99524d98532 100644 (file)
@@ -3931,6 +3931,9 @@ namespace Mono.CSharp
                                                if (pos == value_builder.Length)
                                                        Array.Resize (ref value_builder, pos * 2);
 
+                                               if (pos == value_builder.Length)
+                                                       Array.Resize (ref value_builder, pos * 2);
+
                                                value_builder [pos++] = (char)ch;
                                                ch = surrogate;
                                        }
@@ -3941,6 +3944,9 @@ namespace Mono.CSharp
                                }
 
                                ++col;
+                               if (pos == value_builder.Length)
+                                       Array.Resize (ref value_builder, pos * 2);
+
                                value_builder[pos++] = (char) ch;
                        }
                }