From 121d95f7d181a65807c787039147e8f7d76e5a87 Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Sun, 1 Aug 2010 15:11:43 +0200
Subject: [PATCH] Fix: uninitialized memory access. (Dominique Pelle)

---
 src/spell.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/spell.c b/src/spell.c
index 30510ad271..eb04c2910d 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -14751,10 +14751,18 @@ soundalike_score(goodstart, badstart)
     char_u	*pl2, *ps2;
     int		score = 0;
 
-    /* adding/inserting "*" at the start (word starts with vowel) shouldn't be
+    /* Adding/inserting "*" at the start (word starts with vowel) shouldn't be
      * counted so much, vowels halfway the word aren't counted at all. */
     if ((*badsound == '*' || *goodsound == '*') && *badsound != *goodsound)
     {
+	if ((badsound[0] == NUL && goodsound[1] == NUL)
+	    || (goodsound[0] == NUL && badsound[1] == NUL))
+	    /* changing word with vowel to word without a sound */
+	    return SCORE_DEL;
+	if (badsound[0] == NUL || goodsound[0] == NUL)
+	    /* more than two changes */
+	    return SCORE_MAXMAX;
+
 	if (badsound[1] == goodsound[1]
 		|| (badsound[1] != NUL
 		    && goodsound[1] != NUL
-- 
GitLab