##// END OF EJS Templates
revlog: recommit 49fd21f32695 with a fix for issue6528...
revlog: recommit 49fd21f32695 with a fix for issue6528 `filelog.size` currently special cases two forms of metadata encoding: - copy data via the parent order as flag bit - censor data by peaking into the raw delta All other forms of metadata encoding including the empty metadata block are mishandled. In `basefilectx.cmp` the empty metadata block is explicitly checked to compensate for this. Restore 49fd21f32695, but disable it for filelog, so that the original flag bit use contines to work. Document all this mess for now in preparation of a proper rework. Differential Revision: https://phab.mercurial-scm.org/D11203

File last commit:

r44255:7857bd9b default
r49876:5b65721a default
Show More
bdiff.cc
39 lines | 969 B | text/x-c | CppLexer
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 /*
* bdiff.cc - fuzzer harness for bdiff.c
*
* Copyright 2018, Google Inc.
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
*/
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 #include <memory>
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 #include <stdlib.h>
Augie Fackler
fuzz: use a more standard approach to allow local builds of fuzzers...
r44265 #include "FuzzedDataProvider.h"
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 extern "C" {
#include "bdiff.h"
Augie Fackler
fuzz: always define LLVMFuzzerInitialize() even if we don't need it...
r44261 extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv)
{
return 0;
}
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
{
Augie Fackler
fuzz: migrate bdiff fuzzer to use FuzzedDataProvider...
r44011 FuzzedDataProvider provider(Data, Size);
std::string left = provider.ConsumeRandomLengthString(Size);
std::string right = provider.ConsumeRemainingBytesAsString();
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
struct bdiff_line *a, *b;
Augie Fackler
fuzz: migrate bdiff fuzzer to use FuzzedDataProvider...
r44011 int an = bdiff_splitlines(left.c_str(), left.size(), &a);
int bn = bdiff_splitlines(right.c_str(), right.size(), &b);
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 struct bdiff_hunk l;
bdiff_diff(a, an, b, bn, &l);
free(a);
free(b);
bdiff_freehunks(l.next);
return 0; // Non-zero return values are reserved for future use.
}
} // extern "C"