Mesa (master): gallium/hud: prevent buffer overflow
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Apr 4 14:13:00 UTC 2019
Module: Mesa
Branch: master
Commit: 9d6ea552638bc1e06ce46e31e0bc070d51f868f9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d6ea552638bc1e06ce46e31e0bc070d51f868f9
Author: Eric Engestrom <eric.engestrom at intel.com>
Date: Tue Mar 19 14:11:48 2019 +0000
gallium/hud: prevent buffer overflow
Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
---
src/gallium/auxiliary/hud/hud_diskstat.c | 4 ++--
src/gallium/auxiliary/hud/hud_nic.c | 4 ++--
src/gallium/auxiliary/hud/hud_sensors_temp.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/gallium/auxiliary/hud/hud_diskstat.c b/src/gallium/auxiliary/hud/hud_diskstat.c
index 6860567a26e..23b98c1fa86 100644
--- a/src/gallium/auxiliary/hud/hud_diskstat.c
+++ b/src/gallium/auxiliary/hud/hud_diskstat.c
@@ -213,7 +213,7 @@ add_object_part(const char *basename, const char *name, int objmode)
{
struct diskstat_info *dsi = CALLOC_STRUCT(diskstat_info);
- strcpy(dsi->name, name);
+ snprintf(dsi->name, sizeof(dsi->name), "%s", name);
snprintf(dsi->sysfs_filename, sizeof(dsi->sysfs_filename), "%s/%s/stat",
basename, name);
dsi->mode = objmode;
@@ -226,7 +226,7 @@ add_object(const char *basename, const char *name, int objmode)
{
struct diskstat_info *dsi = CALLOC_STRUCT(diskstat_info);
- strcpy(dsi->name, name);
+ snprintf(dsi->name, sizeof(dsi->name), "%s", name);
snprintf(dsi->sysfs_filename, sizeof(dsi->sysfs_filename), "%s/stat",
basename);
dsi->mode = objmode;
diff --git a/src/gallium/auxiliary/hud/hud_nic.c b/src/gallium/auxiliary/hud/hud_nic.c
index 5fab3319db2..a294602b29e 100644
--- a/src/gallium/auxiliary/hud/hud_nic.c
+++ b/src/gallium/auxiliary/hud/hud_nic.c
@@ -114,7 +114,7 @@ query_wifi_bitrate(const struct nic_info *nic, uint64_t *bitrate)
memset(&stats, 0, sizeof(stats));
memset(&req, 0, sizeof(req));
- strcpy(req.ifr_name, nic->name);
+ snprintf(req.ifr_name, sizeof(req.ifr_name), "%s", nic->name);
req.u.data.pointer = &stats;
req.u.data.flags = 1;
req.u.data.length = sizeof(struct iw_statistics);
@@ -145,7 +145,7 @@ query_nic_rssi(const struct nic_info *nic, uint64_t *leveldBm)
memset(&stats, 0, sizeof(stats));
memset(&req, 0, sizeof(req));
- strcpy(req.ifr_name, nic->name);
+ snprintf(req.ifr_name, sizeof(req.ifr_name), "%s", nic->name);
req.u.data.pointer = &stats;
req.u.data.flags = 1;
req.u.data.length = sizeof(struct iw_statistics);
diff --git a/src/gallium/auxiliary/hud/hud_sensors_temp.c b/src/gallium/auxiliary/hud/hud_sensors_temp.c
index c226e89cc42..fe80cabf82f 100644
--- a/src/gallium/auxiliary/hud/hud_sensors_temp.c
+++ b/src/gallium/auxiliary/hud/hud_sensors_temp.c
@@ -259,8 +259,8 @@ create_object(const char *chipname, const char *featurename,
sti->mode = mode;
sti->chip = (sensors_chip_name *) chip;
sti->feature = feature;
- strcpy(sti->chipname, chipname);
- strcpy(sti->featurename, featurename);
+ snprintf(sti->chipname, sizeof(sti->chipname), "%s", chipname);
+ snprintf(sti->featurename, sizeof(sti->featurename), "%s", featurename);
snprintf(sti->name, sizeof(sti->name), "%s.%s", sti->chipname,
sti->featurename);
More information about the mesa-commit
mailing list