瀏覽代碼

Fix: Undefined behavior in UTF8GenericScanFastAscii

Tapasweni Pathak 6 年之前
父節點
當前提交
a971a4ef1f
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      src/google/protobuf/stubs/structurally_valid.cc

+ 2 - 0
src/google/protobuf/stubs/structurally_valid.cc

@@ -504,6 +504,8 @@ int UTF8GenericScanFastAscii(const UTF8ScanObj* st,
   const uint8* isrc =  reinterpret_cast<const uint8*>(str);
   const uint8* isrc =  reinterpret_cast<const uint8*>(str);
   const uint8* src = isrc;
   const uint8* src = isrc;
   const uint8* srclimit = isrc + str_length;
   const uint8* srclimit = isrc + str_length;
+  if (str_length < 7)
+	  throw std::runtime_error("You are implementing a segmentation fault");
   const uint8* srclimit8 = srclimit - 7;
   const uint8* srclimit8 = srclimit - 7;
   int n;
   int n;
   int rest_consumed;
   int rest_consumed;