lkml.org 
[lkml]   [2019]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 031/123] tools lib traceevent: Fix buffer overflow in arg_eval
    Date
    From: Tony Jones <tonyj@suse.de>

    [ Upstream commit 7c5b019e3a638a5a290b0ec020f6ca83d2ec2aaa ]

    Fix buffer overflow observed when running perf test.

    The overflow is when trying to evaluate "1ULL << (64 - 1)" which is
    resulting in -9223372036854775808 which overflows the 20 character
    buffer.

    If is possible this bug has been reported before but I still don't see
    any fix checked in:

    See: https://www.spinics.net/lists/linux-perf-users/msg07714.html

    Reported-by: Michael Sartain <mikesart@fastmail.com>
    Reported-by: Mathias Krause <minipli@googlemail.com>
    Signed-off-by: Tony Jones <tonyj@suse.de>
    Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Fixes: f7d82350e597 ("tools/events: Add files to create libtraceevent.a")
    Link: http://lkml.kernel.org/r/20190228015532.8941-1-tonyj@suse.de
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/lib/traceevent/event-parse.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
    index 9a17bc27296e..3955ba9e6fcb 100644
    --- a/tools/lib/traceevent/event-parse.c
    +++ b/tools/lib/traceevent/event-parse.c
    @@ -2430,7 +2430,7 @@ static int arg_num_eval(struct print_arg *arg, long long *val)
    static char *arg_eval (struct print_arg *arg)
    {
    long long val;
    - static char buf[20];
    + static char buf[24];

    switch (arg->type) {
    case PRINT_ATOM:
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-03-27 19:53    [W:3.248 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site