diff options
| author | Harald Welte <laforge@gnumonks.org> | 2009-01-14 01:01:17 -0500 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2009-04-03 23:43:02 -0400 |
| commit | ba256b41bd58f0821c9c0e203982fb260f09bdeb (patch) | |
| tree | d56f5fa22fa4d82318e4e611ab5285ba5c5a5c1d | |
| parent | c542aadeb4700bc316834d862d52ba3d2664f13a (diff) | |
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: Martin Lucina <mato@kotelna.sk>
Signed-off-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Len Brown <len.brown@intel.com>
| -rw-r--r-- | drivers/platform/x86/panasonic-laptop.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c index ecaca412a2a1..a5ce4bc202e3 100644 --- a/drivers/platform/x86/panasonic-laptop.c +++ b/drivers/platform/x86/panasonic-laptop.c | |||
| @@ -367,7 +367,7 @@ static ssize_t show_numbatt(struct device *dev, struct device_attribute *attr, | |||
| 367 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) | 367 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) |
| 368 | return -EIO; | 368 | return -EIO; |
| 369 | 369 | ||
| 370 | return sprintf(buf, "%u\n", pcc->sinf[SINF_NUM_BATTERIES]); | 370 | return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_NUM_BATTERIES]); |
| 371 | } | 371 | } |
| 372 | 372 | ||
| 373 | static ssize_t show_lcdtype(struct device *dev, struct device_attribute *attr, | 373 | 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 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) | 379 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) |
| 380 | return -EIO; | 380 | return -EIO; |
| 381 | 381 | ||
| 382 | return sprintf(buf, "%u\n", pcc->sinf[SINF_LCD_TYPE]); | 382 | return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_LCD_TYPE]); |
| 383 | } | 383 | } |
| 384 | 384 | ||
| 385 | static ssize_t show_mute(struct device *dev, struct device_attribute *attr, | 385 | 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 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) | 391 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) |
| 392 | return -EIO; | 392 | return -EIO; |
| 393 | 393 | ||
| 394 | return sprintf(buf, "%u\n", pcc->sinf[SINF_MUTE]); | 394 | return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_MUTE]); |
| 395 | } | 395 | } |
| 396 | 396 | ||
| 397 | static ssize_t show_sticky(struct device *dev, struct device_attribute *attr, | 397 | 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 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) | 403 | if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) |
| 404 | return -EIO; | 404 | return -EIO; |
| 405 | 405 | ||
| 406 | return sprintf(buf, "%u\n", pcc->sinf[SINF_STICKY_KEY]); | 406 | return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_STICKY_KEY]); |
| 407 | } | 407 | } |
| 408 | 408 | ||
| 409 | static ssize_t set_sticky(struct device *dev, struct device_attribute *attr, | 409 | static ssize_t set_sticky(struct device *dev, struct device_attribute *attr, |
