Commit ba256b41 authored by Harald Welte's avatar Harald Welte Committed by Len Brown

panasonic-laptop: use snprintf with PAGE_SIZE in sysfs attributes

Instead of just sprintf() into the page-sized buffer provided
by the sysfs/device_attribute API, we use snprintf with PAGE_SIZE
as an additional safeguard.
Signed-off-by: default avatarMartin Lucina <mato@kotelna.sk>
Signed-off-by: default avatarHarald Welte <laforge@gnumonks.org>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent c542aade
...@@ -367,7 +367,7 @@ static ssize_t show_numbatt(struct device *dev, struct device_attribute *attr, ...@@ -367,7 +367,7 @@ static ssize_t show_numbatt(struct device *dev, struct device_attribute *attr,
if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf))
return -EIO; return -EIO;
return sprintf(buf, "%u\n", pcc->sinf[SINF_NUM_BATTERIES]); return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_NUM_BATTERIES]);
} }
static ssize_t show_lcdtype(struct device *dev, struct device_attribute *attr, static ssize_t show_lcdtype(struct device *dev, struct device_attribute *attr,
...@@ -379,7 +379,7 @@ static ssize_t show_lcdtype(struct device *dev, struct device_attribute *attr, ...@@ -379,7 +379,7 @@ static ssize_t show_lcdtype(struct device *dev, struct device_attribute *attr,
if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf))
return -EIO; return -EIO;
return sprintf(buf, "%u\n", pcc->sinf[SINF_LCD_TYPE]); return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_LCD_TYPE]);
} }
static ssize_t show_mute(struct device *dev, struct device_attribute *attr, static ssize_t show_mute(struct device *dev, struct device_attribute *attr,
...@@ -391,7 +391,7 @@ static ssize_t show_mute(struct device *dev, struct device_attribute *attr, ...@@ -391,7 +391,7 @@ static ssize_t show_mute(struct device *dev, struct device_attribute *attr,
if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf))
return -EIO; return -EIO;
return sprintf(buf, "%u\n", pcc->sinf[SINF_MUTE]); return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_MUTE]);
} }
static ssize_t show_sticky(struct device *dev, struct device_attribute *attr, static ssize_t show_sticky(struct device *dev, struct device_attribute *attr,
...@@ -403,7 +403,7 @@ static ssize_t show_sticky(struct device *dev, struct device_attribute *attr, ...@@ -403,7 +403,7 @@ static ssize_t show_sticky(struct device *dev, struct device_attribute *attr,
if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf))
return -EIO; return -EIO;
return sprintf(buf, "%u\n", pcc->sinf[SINF_STICKY_KEY]); return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_STICKY_KEY]);
} }
static ssize_t set_sticky(struct device *dev, struct device_attribute *attr, static ssize_t set_sticky(struct device *dev, struct device_attribute *attr,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment