comparison src/list.c @ 30001:6c1a9d7a931f v9.0.0338

patch 9.0.0338: return value of list_append_list() not always checked Commit: https://github.com/vim/vim/commit/9ba6194d4cba60fec4ed10c33d2d4fbe6e38c696 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Aug 31 11:25:06 2022 +0100 patch 9.0.0338: return value of list_append_list() not always checked Problem: Return value of list_append_list() not always checked. Solution: Check return value and handle failure.
author Bram Moolenaar <Bram@vim.org>
date Wed, 31 Aug 2022 12:30:06 +0200
parents 86eb4aba16c3
children adb0de8be4ce
comparison
equal deleted inserted replaced
30000:3f18d0ae046b 30001:6c1a9d7a931f
1074 { 1074 {
1075 list_T *l2 = list_alloc(); 1075 list_T *l2 = list_alloc();
1076 1076
1077 if (l2 == NULL) 1077 if (l2 == NULL)
1078 break; 1078 break;
1079 if (list_append_list(rettv->vval.v_list, l2) == FAIL 1079 if (list_append_list(rettv->vval.v_list, l2) == FAIL)
1080 || list_append_number(l2, idx) == FAIL 1080 {
1081 vim_free(l2);
1082 break;
1083 }
1084 if (list_append_number(l2, idx) == FAIL
1081 || list_append_tv(l2, &li->li_tv) == FAIL) 1085 || list_append_tv(l2, &li->li_tv) == FAIL)
1082 break; 1086 break;
1083 } 1087 }
1084 } 1088 }
1085 1089
1106 if (len == 0) 1110 if (len == 0)
1107 break; 1111 break;
1108 l2 = list_alloc(); 1112 l2 = list_alloc();
1109 if (l2 == NULL) 1113 if (l2 == NULL)
1110 break; 1114 break;
1111 if (list_append_list(rettv->vval.v_list, l2) == FAIL 1115 if (list_append_list(rettv->vval.v_list, l2) == FAIL)
1112 || list_append_number(l2, idx) == FAIL 1116 {
1117 vim_free(l2);
1118 break;
1119 }
1120 if (list_append_number(l2, idx) == FAIL
1113 || list_append_string(l2, p, len) == FAIL) 1121 || list_append_string(l2, p, len) == FAIL)
1114 break; 1122 break;
1115 p += len; 1123 p += len;
1116 } 1124 }
1117 } 1125 }