diff options
author | ZyX <kp-pav@yandex.ru> | 2017-07-04 16:47:07 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-07-04 18:37:01 +0300 |
commit | 94bd0f9915b0515fde449e3ee003ecbff3ad1b42 (patch) | |
tree | 3a30bd1723bb82a722b8fd119fb10495806b7092 /src/nvim/main.c | |
parent | 1f05ec95c04f7fd300ce3696b40f09e057d4fb06 (diff) | |
download | rneovim-94bd0f9915b0515fde449e3ee003ecbff3ad1b42.tar.gz rneovim-94bd0f9915b0515fde449e3ee003ecbff3ad1b42.tar.bz2 rneovim-94bd0f9915b0515fde449e3ee003ecbff3ad1b42.zip |
main: Fix V522: potential NULL dereference
It is useless to use sbuffer here and print that to stdout, just using “fbuffer”
instead.
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r-- | src/nvim/main.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index 19a661d7db..5c0cda978f 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -766,16 +766,18 @@ static void command_line_scan(mparm_T *parmp) version(); mch_exit(0); } else if (STRICMP(argv[0] + argv_idx, "api-info") == 0) { - msgpack_sbuffer* b = msgpack_sbuffer_new(); - msgpack_packer* p = msgpack_packer_new(b, msgpack_sbuffer_write); - Object md = DICTIONARY_OBJ(api_metadata()); - msgpack_rpc_from_object(md, p); + msgpack_packer *p = msgpack_packer_new(stdout, + msgpack_fbuffer_write); - for (size_t i = 0; i < b->size; i++) { - putchar(b->data[i]); + if (p == NULL) { + emsgf(_(e_outofmem)); } + Object md = DICTIONARY_OBJ(api_metadata()); + msgpack_rpc_from_object(md, p); + msgpack_packer_free(p); + file_close(&fp, false); mch_exit(0); } else if (STRICMP(argv[0] + argv_idx, "headless") == 0) { parmp->headless = true; |