2 $ cd empty-repo |
2 $ cd empty-repo |
3 |
3 |
4 Flags on revlog version 0 are rejected |
4 Flags on revlog version 0 are rejected |
5 |
5 |
6 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
6 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
7 ... fh.write('\x00\x01\x00\x00') |
7 ... fh.write(b'\x00\x01\x00\x00') |
8 |
8 |
9 $ hg log |
9 $ hg log |
10 abort: unknown flags (0x01) in version 0 revlog 00changelog.i! |
10 abort: unknown flags (0x01) in version 0 revlog 00changelog.i! |
11 [255] |
11 [255] |
12 |
12 |
13 Unknown flags on revlog version 1 are rejected |
13 Unknown flags on revlog version 1 are rejected |
14 |
14 |
15 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
15 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
16 ... fh.write('\x00\x04\x00\x01') |
16 ... fh.write(b'\x00\x04\x00\x01') |
17 |
17 |
18 $ hg log |
18 $ hg log |
19 abort: unknown flags (0x04) in version 1 revlog 00changelog.i! |
19 abort: unknown flags (0x04) in version 1 revlog 00changelog.i! |
20 [255] |
20 [255] |
21 |
21 |
22 Unknown version is rejected |
22 Unknown version is rejected |
23 |
23 |
24 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
24 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
25 ... fh.write('\x00\x00\x00\x02') |
25 ... fh.write(b'\x00\x00\x00\x02') |
26 |
26 |
27 $ hg log |
27 $ hg log |
28 abort: unknown version (2) in revlog 00changelog.i! |
28 abort: unknown version (2) in revlog 00changelog.i! |
29 [255] |
29 [255] |
30 |
30 |
32 |
32 |
33 Test for CVE-2016-3630 |
33 Test for CVE-2016-3630 |
34 |
34 |
35 $ hg init |
35 $ hg init |
36 |
36 |
37 >>> open("a.i", "w").write( |
37 >>> open("a.i", "wb").write( |
38 ... """eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD |
38 ... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD |
39 ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA==""" |
39 ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA==""" |
40 ... .decode("base64").decode("zlib")) |
40 ... .decode("base64").decode("zlib")) |
41 |
41 |
42 $ hg debugindex a.i |
42 $ hg debugindex a.i |
43 rev offset length delta linkrev nodeid p1 p2 |
43 rev offset length delta linkrev nodeid p1 p2 |