[llvm-rc] Fix DIALOG(EX) parsing ability (parser, pt 5/8).

This fixes a use-after-free bug that was noticed by a sanitizer buildbot
(http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/7502).

Differential Revision: https://reviews.llvm.org/D37271

llvm-svn: 312028
This commit is contained in:
Marek Sokolowski 2017-08-29 20:03:18 +00:00
parent d61fca35ca
commit 75fa173e20
1 changed files with 1 additions and 1 deletions

View File

@ -329,7 +329,7 @@ Expected<Control> RCParser::parseControl() {
// [class] id, x, y, width, height [, style] [, exstyle] [, helpID]
// Note that control ids must be integers.
ASSIGN_OR_RETURN(ClassResult, readIdentifier());
StringRef ClassUpper = ClassResult->upper();
std::string ClassUpper = ClassResult->upper();
if (Control::SupportedCtls.find(ClassUpper) == Control::SupportedCtls.end())
return getExpectedError("control type, END or '}'", true);