From: Bram Moolenaar Date: Tue, 26 Mar 2019 20:44:20 +0000 (+0100) Subject: patch 8.1.1054: not checking return value of ga_grow() X-Git-Tag: v8.1.1054 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6fb5c97242a151e67bd5c72736f187ef71c44e24;p=vim 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 index 825e8346f..cfb288522 100644 --- 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 index dd746ca22..ba1498197 100644 --- a/src/version.c +++ b/src/version.c @@ -775,6 +775,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1054, /**/ 1053, /**/