updated for version 7.3.589
Problem:    Crash when $HOME is not set.
Solution:   Check for a NULL pointer. (Chris Webb)
diff --git a/src/misc1.c b/src/misc1.c
index 99881dc..3482272 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -4496,8 +4496,12 @@
 #else
     homedir_env_orig = homedir_env = mch_getenv((char_u *)"HOME");
 #endif
+    /* Empty is the same as not set. */
+    if (homedir_env != NULL && *homedir_env == NUL)
+	homedir_env = NULL;
+
 #if defined(FEAT_MODIFY_FNAME) || defined(WIN3264)
-    if (vim_strchr(homedir_env, '~') != NULL)
+    if (homedir_env != NULL && vim_strchr(homedir_env, '~') != NULL)
     {
 	int	usedlen = 0;
 	int	flen;
@@ -4513,8 +4517,6 @@
     }
 #endif
 
-    if (homedir_env != NULL && *homedir_env == NUL)
-	homedir_env = NULL;
     if (homedir_env != NULL)
 	envlen = STRLEN(homedir_env);
 
diff --git a/src/version.c b/src/version.c
index 2676fa7..0acbce0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    589,
+/**/
     588,
 /**/
     587,