comparison src/userfunc.c @ 34792:6d03fa3a05ad v9.1.0270

patch 9.1.0270: a few minor issues to fix Commit: https://github.com/vim/vim/commit/915f3bf4c157e8f1667f52a07eb98dcecfb76875 Author: Christian Brabandt <cb@256bit.org> Date: Fri Apr 5 20:12:19 2024 +0200 patch 9.1.0270: a few minor issues to fix The following is a collection of some small fixes: - Problem: Vim9: funcref pointer pt leaks, when function is not found Solution: Free funcref pointer in case of error (fixes: #14254) - Problem: memory leak of crypt state pointer allocation fails Solution: free crypt state pointer properly (fixes: #14253) - Problem: Vim9: Leaking memory when compiling dict fails Solution: Free the memory in case of error (fixes: #14252) - Problem: Coverity complains about derefencing obj_members pointer (after v9.1.0261) Solution: Verify that obj_members ptr is non-null before accessing it References: https://scan5.scan.coverity.com/#/project-view/41242/10101?selectedIssue=1596133 closes: #14412 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Fri, 05 Apr 2024 20:15:08 +0200
parents af48c532bd88
children 3b0c98b3a7b5
comparison
equal deleted inserted replaced
34791:d5a58eaf5cff 34792:6d03fa3a05ad
553 char_u *aname = ((char_u **)fp->uf_args.ga_data)[i]; 553 char_u *aname = ((char_u **)fp->uf_args.ga_data)[i];
554 554
555 type = &t_any; 555 type = &t_any;
556 for (int om = 0; om < obj_member_count; ++om) 556 for (int om = 0; om < obj_member_count; ++om)
557 { 557 {
558 if (STRCMP(aname, obj_members[om].ocm_name) == 0) 558 if (obj_members != NULL
559 && STRCMP(aname,
560 obj_members[om].ocm_name) == 0)
559 { 561 {
560 type = obj_members[om].ocm_type; 562 type = obj_members[om].ocm_type;
561 break; 563 break;
562 } 564 }
563 } 565 }