diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index d620905f03e6a4cfa2a518f094038bffcb363343..1648e55c606eb5e9f95cefaee40a929c531b49e4 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -2045,6 +2045,8 @@ all_done:
 		size_t mlen = 0;
 		char *out;
 
+		if (end == NULL)
+			return;
 		// First, calculate the required length...
 		for (p = cterm->strbuf; p <= end;) {
 			if (*p == '!') {