[PATCH] D137379: [-Wunsafe-buffer-usage] Add warnings for unsafe buffer accesses by array subscript operations
    Manoj Gupta via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Mon Mar 27 10:48:40 PDT 2023
    
    
  
manojgupta added a comment.
This is firing even in checked length codes, is that expected?
example:
https://godbolt.org/z/Todje76ao
  std::optional<uint16_t> result;
  bool ReadDevice(uint8_t* data, size_t len) {
  if (!result)
        return false;
    memset(data, 0, len);
    if (len > 0)     data[0] = (result.value() >> 8) & 0xFF;
    if (len > 1)     data[1] = result.value() & 0xFF;
    return true;
  }
  <source>:7:26: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage]
  bool ReadDevice(uint8_t* data, size_t len) {
                  ~~~~~~~~~^~~~
  <source>:13:20: note: used in buffer access here
    if (len > 1)     data[1] = result.value() & 0xFF;
                     ^~~~
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137379/new/
https://reviews.llvm.org/D137379
    
    
More information about the cfe-commits
mailing list