# HG changeset patch # User Bram Moolenaar # Date 1553633106 -3600 # Node ID 643fe07aa0e24a2c17709e7a930f423672ccabc3 # Parent 8b7c4bb103733f1be0a8a44d1d5946a5afbd4db4 patch 8.1.1054: not checking return value of ga_grow() commit https://github.com/vim/vim/commit/6fb5c97242a151e67bd5c72736f187ef71c44e24 Author: Bram Moolenaar Date: Tue Mar 26 21:44:20 2019 +0100 patch 8.1.1054: not checking return value of ga_grow() Problem: Not checking return value of ga_grow(). (Coverity) Solution: Only append when ga_grow() returns OK. diff --git a/src/if_lua.c b/src/if_lua.c --- a/src/if_lua.c +++ b/src/if_lua.c @@ -1144,9 +1144,9 @@ luaV_blob_add(lua_State *L) size_t i, l = 0; const char *s = lua_tolstring(L, 2, &l); - ga_grow(&b->bv_ga, l); - for (i = 0; i < l; ++i) - ga_append(&b->bv_ga, s[i]); + if (ga_grow(&b->bv_ga, l) == OK) + for (i = 0; i < l; ++i) + ga_append(&b->bv_ga, s[i]); } lua_settop(L, 1); return 1; @@ -1776,9 +1776,9 @@ luaV_blob(lua_State *L) size_t i, l = 0; const char *s = lua_tolstring(L, 1, &l); - ga_grow(&b->bv_ga, l); - for (i = 0; i < l; ++i) - ga_append(&b->bv_ga, s[i]); + if (ga_grow(&b->bv_ga, l) == OK) + for (i = 0; i < l; ++i) + ga_append(&b->bv_ga, s[i]); } } return 1; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -776,6 +776,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1054, +/**/ 1053, /**/ 1052,