Christian Brabandt
220474d239
patch 9.1.0608: Coverity warns about a few potential issues
...
Problem: Coverity warns about a few potential issues
Solution: Fix those issues (see details below)
1) Fix overflow warning in highlight.c
This happens because we are comparing int with long
and assign a potential long value to an int, which
could cause an overflow. So add some casts to ensure
the value fits into an int.
2) Fix Overflow warning in shift_line().
This happens because we are performing a division/modulo
operation of a long type by an int type and assign the result
to an int, which could then overflow. So before performing
the operation, trim the long to value to at most max int value,
so that it can't overflow.
3) Fix overflow warning in syn_list_cluster in syntax.c
This is essential the same issue as 1)
4) not checking the return value of vim_mkdir() in spellfile.c
Creating the spell directory could fail. Handle this case
and return early in this case.
5) qsort() may deref a NULL pointer when fuzzy match does not
return a result. Fix this by checking that the accessed growarray
fuzzy_indices actually contains data. If not we can silently skip
the qsort() and related logic.
closes : #15284
Signed-off-by: Christian Brabandt <cb@256bit.org >
2024-07-20 13:26:44 +02:00
zeertzjq
94b7c3233e
patch 9.1.0172: More code can use ml_get_buf_len() instead of STRLEN()
...
Problem: More code can use ml_get_buf_len() instead of STRLEN().
Solution: Change more STRLEN() calls to ml_get_buf_len(). Also do not
set ml_line_textlen in ml_replace_len() if "has_props" is set,
because "len_arg" also includes the size of text properties in
that case. (zeertzjq)
closes : #14183
Signed-off-by: zeertzjq <zeertzjq@outlook.com >
Signed-off-by: Christian Brabandt <cb@256bit.org >
2024-03-12 21:50:32 +01:00
Yegappan Lakshmanan
960dcbd098
patch 9.0.1391: "clear" macros are not always used
...
Problem: "clear" macros are not always used.
Solution: Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more
places. (Yegappan Lakshmanan, closes #12104 )
2023-03-07 17:45:11 +00:00
Yegappan Lakshmanan
14113fdf9c
patch 9.0.1390: FOR_ALL_ macros are defined in an unexpected file
...
Problem: FOR_ALL_ macros are defined in an unexpected file.
Solution: Move FOR_ALL_ macros to macros.h. Add FOR_ALL_HASHTAB_ITEMS.
(Yegappan Lakshmanan, closes #12109 )
2023-03-07 17:13:51 +00:00
Yegappan Lakshmanan
fadc02a2a5
patch 9.0.1251: checking returned value of ga_grow() is inconsistent
...
Problem: Checking returned value of ga_grow() is inconsistent.
Solution: Check for FAIL instaed of "not OK". (Yegappan Lakshmanan,
closes #11897 )
2023-01-27 21:03:12 +00:00
Yegappan Lakshmanan
6ec6666047
patch 9.0.1237: code is indented more than necessary
...
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes #11858 )
2023-01-23 20:46:21 +00:00
Bram Moolenaar
a9fa8c58fb
patch 9.0.1133: error message names do not match the items
...
Problem: Error message names do not match the items.
Solution: Add "_str" when the text contains "%s".
2023-01-02 18:10:04 +00:00
Bram Moolenaar
ef2c325f5e
patch 9.0.0949: crash when unletting a variable while listing variables
...
Problem: Crash when unletting a variable while listing variables.
Solution: Disallow changing a hashtable while going over the entries.
(closes #11435 )
2022-11-25 16:31:51 +00:00
Bram Moolenaar
0abd6cf62d
patch 9.0.0750: crash when popup closed in callback
...
Problem: Crash when popup closed in callback. (Maxim Kim)
Solution: In syntax_end_parsing() check that syn_block is valid.
2022-10-14 17:04:09 +01:00
Bram Moolenaar
73e28dcc61
patch 9.0.0491: no good reason to build without the float feature
...
Problem: No good reason to build without the float feature.
Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
2022-09-17 21:08:33 +01:00
Bram Moolenaar
5ff595d9db
patch 9.0.0284: using static buffer for multiple completion functions
...
Problem: Using static buffer for multiple completion functions.
Solution: Use one buffer in expand_T.
2022-08-26 22:36:41 +01:00
bfredl
af9a6002e0
patch 9.0.0283: cannot complete "syn list @cluster"
...
Problem: Cannot complete "syn list @cluster".
Solution: Recognize and handle "list @". (Björn Linse, closes #10990 )
2022-08-26 21:58:31 +01:00
Bram Moolenaar
a4d158b3c8
patch 9.0.0206: redraw flags are not named specifically
...
Problem: Redraw flags are not named specifically.
Solution: Prefix "UPD_" to the flags, for UPDate_screen().
2022-08-14 14:17:45 +01:00
zeertzjq
101d57b34b
patch 9.0.0124: code has more indent than needed
...
Problem: Code has more indent than needed.
Solution: Use continue and return statements. (closes #10824 )
2022-07-31 18:34:32 +01:00
Bram Moolenaar
6f0cf62df9
patch 8.2.5128: syntax disabled when using synID() in searchpair() skip expr
...
Problem: Syntax highlighting disabled when using synID() in searchpair()
skip expression and it times out. (Jaehwang Jung)
Solution: Add the redrawtime_limit_set flag. (closes #10562 )
2022-06-19 12:27:45 +01:00
Paul Ollis
6574577cac
patch 8.2.5057: using gettimeofday() for timeout is very inefficient
...
Problem: Using gettimeofday() for timeout is very inefficient.
Solution: Set a platform dependent timer. (Paul Ollis, closes #10505 )
2022-06-05 16:55:54 +01:00
zeertzjq
ca7e86c237
patch 8.2.4762: using freed memory using synstack() and synID() in WinEnter
...
Problem: Using freed memory when using synstack() and synID() in WinEnter.
Solution: Check using the syntax window. (closes #10204 )
2022-04-16 16:49:24 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
f26c16144d
patch 8.2.4704: using "else" after return or break increases indent
...
Problem: Using "else" after return or break increases indent.
Solution: Remove "else" and reduce indent. (Goc Dundar, closes #10099 )
2022-04-07 13:26:34 +01:00
Bram Moolenaar
ac48506ac6
patch 8.2.4615: mapping with escaped bar does not work in :def function
...
Problem: Mapping with escaped bar does not work in :def function. (Sergey
Vlasov)
Solution: Do not remove the backslash. (closes #10002 )
2022-03-23 19:45:01 +00:00
kylo252
ae6f1d8b14
patch 8.2.4402: missing parenthesis may cause unexpected problems
...
Problem: Missing parenthesis may cause unexpected problems.
Solution: Add more parenthesis is macros. (closes #9788 )
2022-02-16 19:24:07 +00:00
Bram Moolenaar
0c1550d9e9
patch 8.2.4307: a few more messages should not be translated
...
Problem: A few more messages should not be translated.
Solution: Remove _().
2022-02-06 11:41:57 +00:00
Dominique Pelle
cd53eed2c5
patch 8.2.4303: a few messages should not be translated
...
Problem: A few messages should not be translated.
Solution: Remove _(). (Dominique Pellé, closes #9702 )
2022-02-05 18:53:06 +00:00
Bram Moolenaar
04935fb17e
patch 8.2.4043: using int for second argument of ga_init2()
...
Problem: Using int for second argument of ga_init2().
Solution: Remove unnessary type cast (int) when using sizeof().
2022-01-08 16:19:22 +00:00
Bram Moolenaar
d82a47dd04
patch 8.2.4012: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move the last error messages to errors.h.
2022-01-05 20:24:39 +00:00
Bram Moolenaar
9d00e4a814
patch 8.2.4010: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-05 17:49:15 +00:00
Bram Moolenaar
677658ae49
patch 8.2.4008: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-05 16:09:06 +00:00
Bram Moolenaar
ac78dd4a35
patch 8.2.3985: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-02 19:25:26 +00:00
Bram Moolenaar
460ae5dfca
patch 8.2.3967: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2022-01-01 14:19:49 +00:00
Bram Moolenaar
436b5adc97
patch 8.2.3961: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2021-12-31 22:49:24 +00:00
Bram Moolenaar
c8a9fe541d
patch 8.2.3631: "syntax enable" does not work properly in Vim9 context
...
Problem: "syntax enable" does not work properly in Vim9 context.
Solution: Also handle Vim9 context. (closes #9161 )
2021-11-20 19:50:59 +00:00
Bram Moolenaar
63b9173693
patch 8.2.3297: cannot use all commands inside a {} block
...
Problem: Cannot use all commands inside a {} block after :command and
:autocmd.
Solution: Do consider \n to separate commands. (closes #8620 )
2021-08-05 20:40:03 +02:00
Bram Moolenaar
e29a27f6f8
patch 8.2.3190: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move error messages to errors.h and give them a clear name.
2021-07-20 21:07:36 +02:00
K.Takata
eeec254878
patch 8.2.2922: computing array length is done in various ways
...
Problem: Computing array length is done in various ways.
Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305 )
2021-06-02 13:28:16 +02:00
Bram Moolenaar
2e240bd428
patch 8.2.2761: using "syn include" does not work properly
...
Problem: Using "syn include" does not work properly.
Solution: Don't add current_syn_inc_tag to topgrp. (Jaehwang Jerry Jung,
closes #8104 )
2021-04-14 11:15:08 +02:00
Bram Moolenaar
e5a2dc87fd
patch 8.2.2289: Vim9: 'cpo' can become empty
...
Problem: Vim9: 'cpo' can become empty.
Solution: Use empty_option instead of an empty string. Update quickfix
buffer after restoring 'cpo'. (closes #7608 )
2021-01-03 19:52:05 +01:00
Bram Moolenaar
b46f57e87b
patch 8.2.2068: transparent syntax item uses start/end of containing region
...
Problem: Transparent syntax item uses start/end of containing region.
Solution: Do not change the startpos and endpos of a transparent region to
that of its containing region. (Adrian Ghizaru, closes #7349 ,
closes #7391 )
2020-11-29 14:11:41 +01:00
Bram Moolenaar
813196784a
patch 8.2.2042: build failure with +profile but without +reltime
...
Problem: Build failure with +profile but without +reltime.
Solution: Adjust #ifdef. (Christian Brabandt, closes #7361 )
2020-11-25 11:47:39 +01:00
Bram Moolenaar
9950280d37
patch 8.2.2011: "syn sync" reports a very large number
...
Problem: "syn sync" reports a very large number.
Solution: Use "at the first line".
2020-11-18 16:53:23 +01:00
Bram Moolenaar
d1f76afaf9
patch 8.2.1678: crash when using ":set" after ":ownsyntax"
...
Problem: Crash when using ":set" after ":ownsyntax".
Solution: Make sure 'spelloptions' is not NULL. (closes #6950 )
2020-09-13 22:37:34 +02:00
Bram Moolenaar
58bb61cf5e
patch 8.2.1171: possible crash when out of memory
...
Problem: Possible crash when out of memory.
Solution: Check for NULL pointer. (Dominique Pellé, closes #6432 )
2020-07-10 20:30:12 +02:00
Bram Moolenaar
71ccd03ee8
patch 8.2.0967: unnecessary type casts for vim_strnsave()
...
Problem: Unnecessary type casts for vim_strnsave().
Solution: Remove the type casts.
2020-06-12 22:59:11 +02:00
Bram Moolenaar
df44a27b53
patch 8.2.0928: many type casts are used for vim_strnsave()
...
Problem: Many type casts are used for vim_strnsave().
Solution: Make the length argument size_t instead of int. (Ken Takata,
closes #5633 ) Remove some type casts.
2020-06-07 20:49:05 +02:00
Bram Moolenaar
e35a52aee7
patch 8.2.0865: syntax foldlevel is taken from the start of the line
...
Problem: Syntax foldlevel is taken from the start of the line.
Solution: Add ":syn foldlevel" to be able to use the minimal foldlevel in
the line. (Brad King, closes #6087 )
2020-05-31 19:48:53 +02:00
Bram Moolenaar
1966c24881
patch 8.2.0613: Vim9: no check for space before #comment
...
Problem: Vim9: no check for space before #comment.
Solution: Add space checks.
2020-04-20 22:42:32 +02:00
Bram Moolenaar
a80faa8930
patch 8.2.0559: clearing a struct is verbose
...
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
2020-04-12 19:37:17 +02:00
Bram Moolenaar
00d253e2b2
patch 8.2.0523: loops are repeated
...
Problem: Loops are repeated.
Solution: Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882 )
2020-04-06 22:13:01 +02:00
Bram Moolenaar
e8c4abbbd7
patch 8.2.0502: Vim9: some code is not tested
...
Problem: Vim9: some code is not tested.
Solution: Add more tests. Fix uncovered problems.
2020-04-02 21:13:25 +02:00
Bram Moolenaar
8a7d6542b3
patch 8.2.0149: maintaining a Vim9 branch separately is more work
...
Problem: Maintaining a Vim9 branch separately is more work.
Solution: Merge the Vim9 script changes.
2020-01-26 15:56:19 +01:00
Bram Moolenaar
0d6f5d9740
patch 8.1.2395: using old C style comments
...
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
2019-12-05 21:33:15 +01:00
Bram Moolenaar
4bbfb0f3cc
patch 8.1.1950: using NULL pointer after an out-of-memory
...
Problem: Using NULL pointer after an out-of-memory.
Solution: Check for NULL pointer. (Dominique Pelle, closes #4881 )
2019-08-31 15:28:02 +02:00