[all-commits] [llvm/llvm-project] 4b2f37: [clang] fix undefined behaviour in RawComment::get...

Oliver Bruns via All-commits all-commits at lists.llvm.org
Mon May 18 21:08:03 PDT 2020


  Branch: refs/heads/release/10.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 4b2f37b2202ebb5c6c05cf00026f506c52a62909
      https://github.com/llvm/llvm-project/commit/4b2f37b2202ebb5c6c05cf00026f506c52a62909
  Author: Oliver Bruns <obruns at gmail.com>
  Date:   2020-05-18 (Mon, 18 May 2020)

  Changed paths:
    M clang/lib/AST/RawCommentList.cpp

  Log Message:
  -----------
  [clang] fix undefined behaviour in RawComment::getFormattedText()

Summary:
Calling `back()` and `pop_back()` on the empty string is undefined
behavior [1,2].

The issue manifested itself as an uncaught `std::out_of_range` exception
when running `clangd` compiled on RHEL7 using devtoolset-9.

[1] https://en.cppreference.com/w/cpp/string/basic_string/back
[2] https://en.cppreference.com/w/cpp/string/basic_string/pop_back

Fixes: 1ff7c32fc91c607b690d4bb9cf42f406be8dde68

Reviewers: teemperor, ioeric, cfe-commits

Reviewed By: teemperor

Subscribers: ilya-biryukov, kadircet, usaxena95

Tags: #clang

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

(cherry picked from commit ad7211df6f257e39da2e5a11b2456b4488f32a1e)




More information about the All-commits mailing list