Mercurial > vim
diff src/if_lua.c @ 16099:643fe07aa0e2 v8.1.1054
patch 8.1.1054: not checking return value of ga_grow()
commit https://github.com/vim/vim/commit/6fb5c97242a151e67bd5c72736f187ef71c44e24
Author: Bram Moolenaar <Bram@vim.org>
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 26 Mar 2019 21:45:06 +0100 |
parents | a2f0e93a5857 |
children | 1d30eb64a7a2 |
line wrap: on
line diff
--- 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;