[libFuzzer] fix two off-by-ones (!!) in the data flow tracer
llvm-svn: 333142
GitOrigin-RevId: 500ca8713cff9d6b946593eab4186bcdc74d6367
diff --git a/dataflow/DataFlow.cpp b/dataflow/DataFlow.cpp
index fb7f672..c55c68e 100644
--- a/dataflow/DataFlow.cpp
+++ b/dataflow/DataFlow.cpp
@@ -90,8 +90,9 @@
}
static void SetBytesForLabel(dfsan_label L, char *Bytes) {
- if (L <= InputLen) {
- Bytes[L] = '1';
+ assert(L);
+ if (L <= InputLen + 1) {
+ Bytes[L - 1] = '1';
} else {
auto *DLI = dfsan_get_label_info(L);
SetBytesForLabel(DLI->l1, Bytes);