Keith Thompson
184f71cc68
patch 9.1.0006: is*() and to*() function may be unsafe
...
Problem: is*() and to*() function may be unsafe
Solution: Add SAFE_* macros and start using those instead
(Keith Thompson)
Use SAFE_() macros for is*() and to*() functions
The standard is*() and to*() functions declared in <ctype.h> have
undefined behavior for negative arguments other than EOF. If plain char
is signed, passing an unchecked value from argv for from user input
to one of these functions has undefined behavior.
Solution: Add SAFE_*() macros that cast the argument to unsigned char.
Most implementations behave sanely for negative arguments, and most
character values in practice are non-negative, but it's still best
to avoid undefined behavior.
The change from #13347 has been omitted, as this has already been
separately fixed in commit ac709e2fc0db6d31abb7da96f743c40956b60c3a
(v9.0.2054)
fixes : #13332
closes : #13347
Signed-off-by: Keith Thompson <Keith.S.Thompson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 21:19:04 +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
af93691b53
patch 9.0.1330: handling new value of an option has a long "else if" chain
...
Problem: Handling new value of an option has a long "else if" chain.
Solution: Use a function pointer. (Yegappan Lakshmanan, closes #12015 )
2023-02-20 12:16:39 +00:00
Yegappan Lakshmanan
1cfb14aa97
patch 9.0.1166: 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 #11792 )
2023-01-09 19:04:23 +00:00
Luuk van Baal
7b224fdf4a
patch 9.0.0844: handling 'statusline' errors is spread out
...
Problem: Handling 'statusline' errors is spread out.
Solution: Pass the option name to the lower levels so the option can be
reset there when an error is encountered. (Luuk van Baal,
closes #11467 )
2022-11-07 12:16:51 +00:00
Bram Moolenaar
84f5463630
patch 9.0.0007: no support for double, dotted and dashed underlines
...
Problem: No support for double, dotted and dashed underlines.
Solution: Add the termcap entries and highlight modes. (closes #9553 )
2022-06-29 18:39:11 +01:00
Bram Moolenaar
424bcae1fb
patch 8.2.4273: the EBCDIC support is outdated
...
Problem: The EBCDIC support is outdated.
Solution: Remove the EBCDIC support.
2022-01-31 14:59:41 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
d5cec1f1f0
patch 8.2.4255: theoretical computation overflow
...
Problem: Theoretical computation overflow.
Solution: Perform multiplication in a wider type. (closes #9657 )
2022-01-29 15:19:23 +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
a6f7929e62
patch 8.2.4005: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-04 21:30:47 +00:00
Bram Moolenaar
d88be5be80
patch 8.2.4003: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-04 19:57:55 +00:00
Bram Moolenaar
1d423ef75f
patch 8.2.3987: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-02 21:26:16 +00:00
Bram Moolenaar
b09feaa86e
patch 8.2.3986: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-02 20:20:45 +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
eaaac014a0
patch 8.2.3983: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-02 17:00:40 +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
=?UTF-8?q?Dundar=20G=C3=B6c?=
dfa5e464d4
patch 8.2.3460: some type casts are not needed
...
Problem: Some type casts are not needed.
Solution: Remove unnecessary type casts. (closes #8934 )
2021-10-02 11:26:51 +01: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
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
2ab2e8608f
patch 8.1.2387: using old C style comments
...
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
2019-12-04 21:24:53 +01:00
Bram Moolenaar
c799fe206e
patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
...
Problem: Alloc() returning "char_u *" causes a lot of type casts.
Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to
check the simple allocations.
2019-05-28 23:08:19 +02:00
Bram Moolenaar
63d2555c9c
patch 8.1.1313: warnings for using localtime() and ctime()
...
Problem: Warnings for using localtime() and ctime().
Solution: Use localtime_r() if available. Avoid using ctime().
2019-05-10 21:28:38 +02:00
Bram Moolenaar
fc3abf47fb
patch 8.1.0806: too many #ifdefs
...
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 2.
2019-01-24 15:54:21 +01:00
Bram Moolenaar
32526b3c18
patch 8.1.0779: argument for message functions is inconsistent
...
Problem: Argument for message functions is inconsistent.
Solution: Make first argument to msg() "char *".
2019-01-19 17:43:09 +01:00
Bram Moolenaar
f9e3e09fdc
patch 8.1.0743: giving error messages is not flexible
...
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
#3302 ) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
2019-01-13 23:38:42 +01:00
Bram Moolenaar
6dff58f15c
patch 8.1.0443: unnecessary static function prototypes
...
Problem: Unnecessary static function prototypes.
Solution: Remove unnecessary prototypes.
2018-09-30 21:43:26 +02:00
Bram Moolenaar
04958cbaf2
patch 8.1.0105: all tab stops are the same
...
Problem: All tab stops are the same.
Solution: Add the variable tabstop feature. (Christian Brabandt,
closes #2711 )
2018-06-23 19:23:02 +02:00
Bram Moolenaar
43dee181f5
patch 8.1.0056: crash when using :hardcopy with illegal byte
...
Problem: Crash when using :hardcopy with illegal byte.
Solution: Check for string_convert() returning NULL. (Dominique Pelle)
2018-06-16 14:44:11 +02:00
Bram Moolenaar
cdd09aa51a
patch 8.0.1503: access memory beyond end of string
...
Problem: Access memory beyond end of string. (Coverity)
Solution: Keep allocated memory in separate pointer. Avoid outputting the
NUL character.
2018-02-11 15:38:40 +01:00
Bram Moolenaar
d23a823669
patch 8.0.1496: clearing a pointer takes two lines
...
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629 )
2018-02-10 18:45:26 +01:00
Bram Moolenaar
8820b48654
patch 8.0.0466: still macros that should be all-caps
...
Problem: There are still a few macros that should be all-caps.
Solution: Make a few more macros all-caps.
2017-03-16 17:23:31 +01:00
Bram Moolenaar
edf3f97ae2
patch 7.4.2293
...
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
2016-08-29 22:49:24 +02:00
Bram Moolenaar
61be73bb0f
patch 7.4.1799
...
Problem: 'guicolors' is a confusing option name.
Solution: Use 'termguicolors' instead. (Hirohito Higashi)
2016-04-29 22:59:22 +02:00
Bram Moolenaar
8a633e3427
patch 7.4.1770
...
Problem: Cannot use true color in the terminal.
Solution: Add the 'guicolors' option. (Nikolai Pavlov)
2016-04-21 21:10:14 +02:00
Bram Moolenaar
4afc7c5d4a
patch 7.4.1702
...
Problem: Using freed memory when parsing 'printoptions' fails.
Solution: Save the old options and restore them in case of an error.
(Dominique)
2016-04-03 14:56:52 +02:00
Bram Moolenaar
7f8989dd8a
patch 7.4.1552
...
Problem: ":colorscheme" does not use 'packpath'.
Solution: Also use in "start" and "opt" directories in 'packpath'.
2016-03-12 22:11:39 +01:00
Bram Moolenaar
68c2f638e6
patch 7.4.1208
...
Problem: Using old style function declarations.
Solution: Change to new style function declarations. (script by Hirohito
Higashi)
2016-01-30 17:24:07 +01:00
Bram Moolenaar
92b8b2d307
patch 7.4.1198
...
Problem: Still using __ARGS.
Solution: Remove __ARGS in several files. (script by Hirohito Higashi)
Also remove use of HAVE_STDARG_H.
2016-01-29 22:36:45 +01:00
Bram Moolenaar
ec45c4a6df
patch 7.4.701
...
Problem: Compiler warning for using uninitialized variable. (Yasuhiro
Matsumoto)
Solution: Initialize it.
2015-04-15 14:27:49 +02:00
Bram Moolenaar
7c94ce910f
patch 7.4.695
...
Problem: Out-of-bounds read, dectected by Coverity.
Solution: Remember the value of cmap for the first matching encoding. Reset
cmap to that value if first matching encoding is going to be used.
(Eliseo Martínez)
2015-04-13 14:45:27 +02:00
Bram Moolenaar
e5c421cfd7
updated for version 7.4.684
...
Problem: When starting several Vim instances in diff mode, the temp files
used may not be unique. (Issue 353)
Solution: Add an argument to vim_tempname() to keep the file.
2015-03-31 13:33:08 +02:00
Bram Moolenaar
0a38396937
updated for version 7.4.533
...
Problem: ":hardcopy" leaks memory in case of errors.
Solution: Free memory in all code paths. (Christian Brabandt)
2014-11-27 17:37:57 +01:00
Bram Moolenaar
84a05acc8c
updated for version 7.3.925
...
Problem: Typos in source files.
Solution: Fix the typos. (Ken Takata)
2013-05-06 04:24:17 +02:00
Bram Moolenaar
d9462e394a
updated for version 7.3.161
...
Problem: Items on the stack may be too big.
Solution: Make items static or allocate them.
2011-04-11 21:35:11 +02:00
Bram Moolenaar
ef9d6aa70d
updated for version 7.3.160
...
Problem: Unsafe string copying.
Solution: Use vim_strncpy() instead of strcpy(). Use vim_strcat() instead
of strcat().
2011-04-11 16:56:35 +02:00
Bram Moolenaar
a9d52e3b79
Fixes for coverity warnings.
2010-07-31 16:44:19 +02:00
Bram Moolenaar
860cae1cec
Add the conceal patch from Vince Negri.
2010-06-05 23:22:07 +02:00
Bram Moolenaar
7db5fc838a
Fix uninit memory read in undo code. Fix uint32_t in proto file.
...
A few minor changes.
2010-05-24 11:59:29 +02:00
Bram Moolenaar
af0167fa39
updated for version 7.2-177
2009-05-16 15:31:32 +00:00
Bram Moolenaar
56cefaf15a
updated for version 7.1-219
2008-01-12 15:47:10 +00:00