From bfadf5a28b550bf99101c17244d5ea1b926e40c3 Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Tue, 16 Jun 2015 19:56:51 +0300 Subject: ASan: Fix "null pointer passed for argument declared to never be null". #2925 Arguments passed to xmemdupz() are sometimes NULL, but xmemdupz() has FUNC_ATTR_NONNULL_ALL. Check pointers for NULL before calling xmemdupz(). Resolves #2533. --- src/nvim/api/private/helpers.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/nvim/api') diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 2a01f83688..0485fbacd2 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -426,8 +426,12 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err) case kObjectTypeString: tv->v_type = VAR_STRING; - tv->vval.v_string = xmemdupz(obj.data.string.data, - obj.data.string.size); + if (obj.data.string.data == NULL) { + tv->vval.v_string = NULL; + } else { + tv->vval.v_string = xmemdupz(obj.data.string.data, + obj.data.string.size); + } break; case kObjectTypeArray: -- cgit