Mercurial > vim
annotate CONTRIBUTING.md @ 33813:2e92551b2350 v9.0.2122
patch 9.0.2122: [security]: prevent overflow in indenting
Commit: https://github.com/vim/vim/commit/3770574e4a70e810add9929973c51f9070c8c851
Author: Christian Brabandt <cb@256bit.org>
Date: Wed Nov 22 22:18:35 2023 +0100
patch 9.0.2122: [security]: prevent overflow in indenting
Problem: [security]: prevent overflow in indenting
Solution: use long long and remove cast to (int)
The shiftwidth option values are defined as being long. However, when
calculating the actual amount of indent, we cast down to (int), which
may cause the shiftwidth value to become negative and later it may even
cause Vim to try to allocate a huge amount of memory.
We already use long and long long variable types to calculate the indent
(and detect possible overflows), so the cast to (int) seems superfluous
and can be safely removed. So let's just remove the (int) cast and
calculate the indent using longs.
Additionally, the 'shiftwidth' option value is also used when determining
the actual 'cino' options. There it can again cause another overflow, so
make sure it is safe in parse_cino() as well.
fixes: #13554
closes: #13555
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 22 Nov 2023 22:30:05 +0100 |
parents | c97e9e2d79a4 |
children | be122dc08867 |
rev | line source |
---|---|
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 # Contributing to Vim |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 Patches are welcome in whatever form. |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
4 Discussions about patches happen on the [vim-dev][0] mailing list. |
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 If you create a pull request on GitHub it will be |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
6 forwarded to the vim-dev mailing list. You can also send your patch there |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
7 directly (but please note, the initial posting is subject to moderation). |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
8 In that case an attachment with a unified diff format is preferred. |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
9 Information about the mailing list can be found [on the Vim website][0] |
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 |
17640
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
11 A pull request has the advantage that it will trigger the Continuous |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
12 Integration tests, you will be warned of problems (you can ignore the coverage |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
13 warning, it's noisy). |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
14 |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
15 Please consider adding a test. All new functionality should be tested and bug |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
16 fixes should be tested for regressions: the test should fail before the fix and |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
17 pass after the fix. Look through recent patches for examples and find help |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
18 with ":help testing". The tests are located under "src/testdir". |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
19 |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
20 Contributions will be distributed with Vim under the Vim license. Providing a |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
21 change to be included implies that you agree with this and your contribution |
c12c811695f7
patch 8.1.1817: github contribution text is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
16285
diff
changeset
|
22 does not cause us trouble with trademarks or patents. There is no CLA to sign. |
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 # Reporting issues |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 We use GitHub issues, but that is not a requirement. Writing to the Vim |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
27 mailing list is also fine. |
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 Please use the GitHub issues only for actual issues. If you are not 100% sure |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 that your problem is a Vim issue, please first discuss this on the Vim user |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
31 mailing list. Try reproducing the problem without any of your plugins or settings: |
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 |
16208 | 33 vim --clean |
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 If you report an issue, please describe exactly how to reproduce it. |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 For example, don't say "insert some text" but say what you did exactly: |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
37 `ahere is some text<Esc>`. |
7076
6ad58a7e995b
commit https://github.com/vim/vim/commit/544780248b5876339b316703fc2f330a9d316c45
Christian Brabandt <cb@256bit.org>
parents:
7068
diff
changeset
|
38 Ideally, the steps you list can be used to write a test to verify the problem |
6ad58a7e995b
commit https://github.com/vim/vim/commit/544780248b5876339b316703fc2f330a9d316c45
Christian Brabandt <cb@256bit.org>
parents:
7068
diff
changeset
|
39 is fixed. |
7068
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 Feel free to report even the smallest problem, also typos in the documentation. |
a55f35ed381b
commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
43 You can find known issues in the todo file: `:help todo`. |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
44 Or open [the todo file][todo list] on GitHub to see the latest version. |
7084
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
45 |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
46 # Syntax, indent and other runtime files |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
47 |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
48 The latest version of these files can be obtained from the repository. |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
49 They are usually not updated with numbered patches. |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
50 |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
51 If you find a problem with one of these files or have a suggestion for |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
52 improvement, please first try to contact the maintainer directly. |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
53 Look in the header of the file for the name and email address. |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
54 |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
55 The maintainer will take care of issues and send updates to the Vim project for |
7084
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
56 distribution with Vim. |
1c039023af1c
commit https://github.com/vim/vim/commit/b58988b832b69b52dfefeca338ea4802d0c4cdca
Christian Brabandt <cb@256bit.org>
parents:
7076
diff
changeset
|
57 |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
58 If the maintainer does not respond, contact the [vim-dev][0] mailing list. |
14347 | 59 |
60 # Translations | |
61 | |
16285
e71261a88630
patch 8.1.1147: desktop file translations are requiring manual updates
Bram Moolenaar <Bram@vim.org>
parents:
16208
diff
changeset
|
62 Translating messages and runtime files is very much appreciated! These things |
e71261a88630
patch 8.1.1147: desktop file translations are requiring manual updates
Bram Moolenaar <Bram@vim.org>
parents:
16208
diff
changeset
|
63 can be translated: |
14372 | 64 * Messages in Vim, see [src/po/README.txt][1] |
16285
e71261a88630
patch 8.1.1147: desktop file translations are requiring manual updates
Bram Moolenaar <Bram@vim.org>
parents:
16208
diff
changeset
|
65 Also used for the desktop icons. |
14372 | 66 * Menus, see [runtime/lang/README.txt][2] |
67 * Vim tutor, see [runtime/tutor/README.txt][3] | |
68 * Manual pages, see [runtime/doc/\*.1][4] for examples | |
16285
e71261a88630
patch 8.1.1147: desktop file translations are requiring manual updates
Bram Moolenaar <Bram@vim.org>
parents:
16208
diff
changeset
|
69 * Installer, see [nsis/lang/\*.nsi][5] for examples |
14347 | 70 |
71 The help files can be translated and made available separately. | |
72 See https://www.vim.org/translations.php for examples. | |
14372 | 73 |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
74 # How do I contribute to the project? |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
75 |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
76 Please have a look at the following [discussion][6], which should give you some |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
77 ideas. Please also check the [develop.txt][7] helpfile for the recommended |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
78 style. Often it's also beneficial to check the surrounding code for the style |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
79 being used. |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
80 |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
81 # I have a question |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
82 |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
83 If you have some question on the style guide, please contact the [vim-dev][0] |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
84 mailing list. For other questions please use the [Vi Stack Exchange][8] website, the |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
85 [vim-use][9] mailing list or make use of the [discussion][10] feature here at github. |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
86 |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
87 [todo list]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
88 [0]: http://www.vim.org/maillist.php#vim-dev |
14372 | 89 [1]: https://github.com/vim/vim/blob/master/src/po/README.txt |
90 [2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt | |
91 [3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt | |
92 [4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1 | |
16285
e71261a88630
patch 8.1.1147: desktop file translations are requiring manual updates
Bram Moolenaar <Bram@vim.org>
parents:
16208
diff
changeset
|
93 [5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi |
33760
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
94 [6]: https://github.com/vim/vim/discussions/13087 |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
95 [7]: https://github.com/vim/vim/blob/master/runtime/doc/develop.txt |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
96 [8]: https://vi.stackexchange.com |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
97 [9]: http://www.vim.org/maillist.php#vim-use |
c97e9e2d79a4
Improve CONTRIBUTING.md
Christian Brabandt <cb@256bit.org>
parents:
29533
diff
changeset
|
98 [10]: https://github.com/vim/vim/discussions |