Mercurial > vim
changeset 35499:6aca169bebd6 v9.1.0515
patch 9.1.0515: Vim9: segfault in object_equal()
Commit: https://github.com/vim/vim/commit/8625714ac13cba271f60687b33f0b63bd29feba1
Author: Ernie Rael <errael@raelity.com>
Date: Sun Jun 23 09:54:45 2024 +0200
patch 9.1.0515: Vim9: segfault in object_equal()
Problem: Vim9: segfault in object_equal()
Solution: test for object pointer being NULL, before dereferencing them
(Ernie Rael)
closes: #15085
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 23 Jun 2024 10:00:06 +0200 |
parents | caf0a74e9b20 |
children | 91ba296a07c4 |
files | src/testdir/test_vim9_class.vim src/version.c src/vim9class.c |
diffstat | 3 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -10502,6 +10502,20 @@ def Test_Object_Compare_With_Recursive_C assert_equal(true, result) END v9.CheckScriptSuccess(lines) + + lines =<< trim END + vim9script + + class C + public var nest: C + endclass + var o1 = C.new() + var o2 = C.new(C.new()) + + var result = o1 == o2 + assert_equal(false, result) + END + v9.CheckScriptSuccess(lines) enddef " Test for using a compound operator from a lambda function in an object method