changeset 19661:31d303c0c464 v8.2.0387

patch 8.2.0387: error for possible NULL argument to qsort() Commit: https://github.com/vim/vim/commit/bb65a5690c24ccfce37e210316bf1d0964c91359 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Mar 15 18:15:03 2020 +0100 patch 8.2.0387: error for possible NULL argument to qsort() Problem: Error for possible NULL argument to qsort(). Solution: Don't call qsort() when there is nothing to sort. (Dominique Pelle, closes #5780)
author Bram Moolenaar <Bram@vim.org>
date Sun, 15 Mar 2020 18:30:04 +0100
parents 738922dcb500
children 3687efb39b68
files src/spellsuggest.c src/version.c
diffstat 2 files changed, 17 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/spellsuggest.c
+++ b/src/spellsuggest.c
@@ -3719,17 +3719,22 @@ cleanup_suggestions(
     suggest_T   *stp = &SUG(*gap, 0);
     int		i;
 
-    // Sort the list.
-    qsort(gap->ga_data, (size_t)gap->ga_len, sizeof(suggest_T), sug_compare);
-
-    // Truncate the list to the number of suggestions that will be displayed.
-    if (gap->ga_len > keep)
+    if (gap->ga_len > 0)
     {
-	for (i = keep; i < gap->ga_len; ++i)
-	    vim_free(stp[i].st_word);
-	gap->ga_len = keep;
-	if (keep >= 1)
-	    return stp[keep - 1].st_score;
+	// Sort the list.
+	qsort(gap->ga_data, (size_t)gap->ga_len, sizeof(suggest_T),
+								  sug_compare);
+
+	// Truncate the list to the number of suggestions that will be
+	// displayed.
+	if (gap->ga_len > keep)
+	{
+	    for (i = keep; i < gap->ga_len; ++i)
+		vim_free(stp[i].st_word);
+	    gap->ga_len = keep;
+	    if (keep >= 1)
+		return stp[keep - 1].st_score;
+	}
     }
     return maxscore;
 }
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    387,
+/**/
     386,
 /**/
     385,