Mesa (master): gallium/hud: avoid buffer overrun

Marek Olšák mareko at kemper.freedesktop.org
Mon Jan 16 17:09:14 UTC 2017


Module: Mesa
Branch: master
Commit: 8daf6de3deddef8f71f8b1af61b12cd8cb783433
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8daf6de3deddef8f71f8b1af61b12cd8cb783433

Author: Thomas Hindoe Paaboel Andersen <phomes at gmail.com>
Date:   Sun Jan 15 00:28:54 2017 +0100

gallium/hud: avoid buffer overrun

Renaming data sources was added in
e8bb97ce30051b999a4a69c9b27884daeb8d71e6
It was possible to use a new name longer than
the name array in hud_graph of 128. This
patch truncates the name to fit the array.

CC: Marek Olšák <marek.olsak at amd.com>

Signed-off-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/auxiliary/hud/hud_context.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
index fd9a7bc..a635797 100644
--- a/src/gallium/auxiliary/hud/hud_context.c
+++ b/src/gallium/auxiliary/hud/hud_context.c
@@ -1275,8 +1275,10 @@ hud_parse_env_var(struct hud_context *hud, const char *env)
 
          strip_hyphens(s);
          if (!LIST_IS_EMPTY(&pane->graph_list)) {
-            strcpy(LIST_ENTRY(struct hud_graph,
-                              pane->graph_list.prev, head)->name, s);
+            struct hud_graph *graph;
+            graph = LIST_ENTRY(struct hud_graph, pane->graph_list.prev, head);
+            strncpy(graph->name, s, sizeof(graph->name)-1);
+            graph->name[sizeof(graph->name)-1] = 0;
          }
       }
 




More information about the mesa-commit mailing list