patch 9.1.0620: Vim9: segfauls with null objects

Problem:  Vim9: segfauls with null objects
          (after v9.1.0219)
Solution: Check object pointer being NULL
          (Ernie Rael)

fixes: #15338
closes: #15349

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/typval.c b/src/typval.c
index 67c819f..e50e96a 100644
--- a/src/typval.c
+++ b/src/typval.c
@@ -267,11 +267,16 @@
 	    break;
 	case VAR_OBJECT:
 	    {
-		class_T *cl = varp->vval.v_object->obj_class;
-		if (cl != NULL && IS_ENUM(cl))
-		    semsg(_(e_using_enum_str_as_number), cl->class_name);
+		if (varp->vval.v_object == NULL)
+		    emsg(_(e_using_object_as_string));
 		else
-		    emsg(_(e_using_object_as_number));
+		{
+		    class_T *cl = varp->vval.v_object->obj_class;
+		    if (cl != NULL && IS_ENUM(cl))
+			semsg(_(e_using_enum_str_as_number), cl->class_name);
+		    else
+			emsg(_(e_using_object_as_number));
+		}
 	    }
 	    break;
 	case VAR_VOID:
@@ -1146,11 +1151,16 @@
 	    break;
 	case VAR_OBJECT:
 	    {
-		class_T *cl = varp->vval.v_object->obj_class;
-		if (cl != NULL && IS_ENUM(cl))
-		    semsg(_(e_using_enum_str_as_string), cl->class_name);
-		else
+		if (varp->vval.v_object == NULL)
 		    emsg(_(e_using_object_as_string));
+		else
+		{
+		    class_T *cl = varp->vval.v_object->obj_class;
+		    if (cl != NULL && IS_ENUM(cl))
+			semsg(_(e_using_enum_str_as_string), cl->class_name);
+		    else
+			emsg(_(e_using_object_as_string));
+		}
 	    }
 	    break;
 	case VAR_JOB: