diff options
| author | ZyX <kp-pav@yandex.ru> | 2017-05-09 14:32:18 +0300 | 
|---|---|---|
| committer | ZyX <kp-pav@yandex.ru> | 2017-05-09 14:41:24 +0300 | 
| commit | 823b35e3414dca0c77697e6e59ec30244b7f4eab (patch) | |
| tree | fa5a03ecf6bd803d1b7c9431b27d663b3585ce88 /src/nvim/strings.c | |
| parent | 04e7eb1e29915c87e3a5b03769d60f429ceb791d (diff) | |
| download | rneovim-823b35e3414dca0c77697e6e59ec30244b7f4eab.tar.gz rneovim-823b35e3414dca0c77697e6e59ec30244b7f4eab.tar.bz2 rneovim-823b35e3414dca0c77697e6e59ec30244b7f4eab.zip | |
strings: Return NUL from vim_strchr for invalid input
Diffstat (limited to 'src/nvim/strings.c')
| -rw-r--r-- | src/nvim/strings.c | 9 | 
1 files changed, 4 insertions, 5 deletions
| diff --git a/src/nvim/strings.c b/src/nvim/strings.c index f19cf7a261..c5fd8741b8 100644 --- a/src/nvim/strings.c +++ b/src/nvim/strings.c @@ -428,16 +428,15 @@ int vim_strnicmp(const char *s1, const char *s2, size_t len)  /// strchr() version which handles multibyte strings  ///  /// @param[in]  string  String to search in. -/// @param[in]  c  Character to search for. Must be a valid character. +/// @param[in]  c  Character to search for.  ///  /// @return Pointer to the first byte of the found character in string or NULL -///         if it was not found. NUL character is never found, use `strlen()` -///         instead. +///         if it was not found or character is invalid. NUL character is never +///         found, use `strlen()` instead.  char_u *vim_strchr(const char_u *const string, const int c)    FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT  { -  assert(c >= 0); -  if (c == 0) { +  if (c <= 0) {      return NULL;    } else if (c < 0x80) {      return (char_u *)strchr((const char *)string, c); | 
