patch 8.2.0112: illegal memory access when using 'cindent'

Problem:    Illegal memory access when using 'cindent'.
Solution:   Check for NUL byte. (Dominique Pelle, closes #5470)
diff --git a/src/cindent.c b/src/cindent.c
index c7caed6..3dc7b16 100644
--- a/src/cindent.c
+++ b/src/cindent.c
@@ -582,6 +582,8 @@
 	for (s += 4; *s; ++s)
 	{
 	    s = cin_skipcomment(s);
+	    if (*s == NUL)
+		break;
 	    if (*s == ':')
 	    {
 		if (s[1] == ':')	// skip over "::" for C++
diff --git a/src/testdir/test_cindent.vim b/src/testdir/test_cindent.vim
index 2cb3f24..2d78be1 100644
--- a/src/testdir/test_cindent.vim
+++ b/src/testdir/test_cindent.vim
@@ -5251,4 +5251,13 @@
   enew! | close
 endfunc
 
+" this was going beyond the end of the line.
+func Test_cindent_case()
+  new
+  call setline(1, "case x: // x")
+  set cindent
+  norm! f:a:
+  bwipe!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 7941733..508db61 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    112,
+/**/
     111,
 /**/
     110,