lkml.org 
[lkml]   [2010]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] trace-cmd: prevent print_graph_duration buffer overflow
    Date
    Passing n > sizeof(string) to snprintf can cause a glibc buffer overflow
    condition. We know the exact size of nsecs_str, so use it instead of
    math that may overflow.

    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
    ---
    trace-ftrace.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/trace-ftrace.c b/trace-ftrace.c
    index af9ac8d..ee7c6dc 100644
    --- a/trace-ftrace.c
    +++ b/trace-ftrace.c
    @@ -148,7 +148,7 @@ static void print_graph_duration(struct trace_seq *s, unsigned long long duratio

    /* Print nsecs (we don't want to exceed 7 numbers) */
    if ((s->len - len) < 7) {
    - snprintf(nsecs_str, 8 - (s->len - len), "%03lu", nsecs_rem);
    + snprintf(nsecs_str, sizeof(nsecs_str), "%03lu", nsecs_rem);
    trace_seq_printf(s, ".%s", nsecs_str);
    }

    --
    1.7.0.4


    \
     
     \ /
      Last update: 2010-06-13 19:15    [W:0.021 / U:1.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site