From: Mons Anderson <mons@cpan.org> To: tarantool-patches@freelists.org Cc: Mons Anderson <mons@cpan.org> Subject: [tarantool-patches] [PATCH] log: fix segfault on _say without filename Date: Wed, 17 Jul 2019 17:18:21 +0000 [thread overview] Message-ID: <1563383901-12794-1-git-send-email-mons@cpan.org> (raw) --- src/say.c | 6 +++--- test/box/misc.result | 13 +++++++++++++ test/box/misc.test.lua | 8 ++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/say.c b/src/say.c index def948d..6b01bc3 100644 --- a/src/say.c +++ b/src/say.c @@ -772,10 +772,10 @@ say_format_plain_tail(char *buf, int len, int level, const char *filename, if (level == S_WARN || level == S_ERROR || level == S_SYSERROR) { /* Primitive basename(filename) */ - for (const char *f = filename; *f; f++) - if (*f == '/' && *(f + 1) != '\0') - filename = f + 1; if (filename) { + for (const char *f = filename; *f; f++) + if (*f == '/' && *(f + 1) != '\0') + filename = f + 1; SNPRINT(total, snprintf, buf, len, " %s:%i", filename, line); } diff --git a/test/box/misc.result b/test/box/misc.result index 699358d..e717493 100644 --- a/test/box/misc.result +++ b/test/box/misc.result @@ -1207,3 +1207,16 @@ box.cfg{too_long_threshold = too_long_threshold} s:drop() --- ... +-- +-- +-- +box.cfg{} +--- +... +local ffi = require'ffi' ffi.C._say(ffi.C.S_WARN, nil, 0, nil, "%s", "test log") +--- +... +test_run:grep_log('default', 'test log') +--- +- test log +... diff --git a/test/box/misc.test.lua b/test/box/misc.test.lua index ee81c7b..b7154ff 100644 --- a/test/box/misc.test.lua +++ b/test/box/misc.test.lua @@ -342,3 +342,11 @@ rows == expected_rows lsn == expected_lsn box.cfg{too_long_threshold = too_long_threshold} s:drop() + +-- +-- Test for segfault +-- + +box.cfg{} +local ffi = require'ffi' ffi.C._say(ffi.C.S_WARN, nil, 0, nil, "%s", "test log") +test_run:grep_log('default', 'test log') -- 1.8.3.1
next reply other threads:[~2019-07-17 17:18 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-07-17 17:18 Mons Anderson [this message] 2019-07-18 11:32 ` [tarantool-patches] " Konstantin Osipov 2019-07-25 8:42 ` Konstantin Osipov 2019-08-28 23:23 ` Kirill Yukhin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1563383901-12794-1-git-send-email-mons@cpan.org \ --to=mons@cpan.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH] log: fix segfault on _say without filename' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox