gallium/util: fix missing limit check in libunwind backtrace
authorRob Clark <robdclark@gmail.com>
Tue, 4 Apr 2017 12:53:57 +0000 (08:53 -0400)
committerRob Clark <robdclark@gmail.com>
Fri, 7 Apr 2017 12:23:02 +0000 (08:23 -0400)
Fixes: 70c272004f ("gallium/util: libunwind support")
Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/auxiliary/util/u_debug_stack.c

index cf05f13ddd06c28f3f26f4cc8f50cfe57cf7d292..14d5b16c376da7969f0b44dfd03c578e432159a1 100644 (file)
@@ -62,7 +62,7 @@ debug_backtrace_capture(struct debug_stack_frame *backtrace,
    while ((start_frame > 0) && (unw_step(&cursor) > 0))
       start_frame--;
 
-   while (unw_step(&cursor) > 0) {
+   while ((i < nr_frames) && (unw_step(&cursor) > 0)) {
       char procname[256];
       const char *filename;
       unw_word_t off;