[coreboot-gerrit] Change in coreboot[master]: util/inteltool: Remove duplicated error message, switch to snprintf
Nico Huber (Code Review)
gerrit at coreboot.org
Tue Aug 22 12:10:35 CEST 2017
Nico Huber has submitted this change and it was merged. ( https://review.coreboot.org/21025 )
Change subject: util/inteltool: Remove duplicated error message, switch to snprintf
......................................................................
util/inteltool: Remove duplicated error message, switch to snprintf
Passing a string containing output from strerror() to perror() causes
double error message display. It is also causing segfaults when the
error message is longer than temp_string capacity.
To fix the problems, sterror() call has been removed so the error
message is printed only once. This could be enough to avoid segfaults,
but it is a good practice to limit output size with snprintf().
Change-Id: I5ccc37e404f278cafae0a451c5acaa27d7907cce
Signed-off-by: Maciej Suminski <maciej.suminski at cern.ch>
Reviewed-on: https://review.coreboot.org/21025
Tested-by: build bot (Jenkins) <no-reply at coreboot.org>
Reviewed-by: Nico Huber <nico.h at gmx.de>
---
M util/inteltool/cpu.c
1 file changed, 5 insertions(+), 7 deletions(-)
Approvals:
build bot (Jenkins): Verified
Nico Huber: Looks good to me, approved
diff --git a/util/inteltool/cpu.c b/util/inteltool/cpu.c
index 7b2e503..360b86b 100644
--- a/util/inteltool/cpu.c
+++ b/util/inteltool/cpu.c
@@ -117,14 +117,13 @@
*fd = open(dev, mode);
if (*fd < 0) {
- sprintf(temp_string,
- "open(\"%s\"): %s\n", dev, strerror(errno));
+ snprintf(temp_string, sizeof(temp_string), "open(\"%s\")", dev);
perror(temp_string);
return -1;
}
if (lseek(*fd, msr, SEEK_SET) == (off_t)-1) {
- sprintf(temp_string, "lseek(%lu): %s\n", msr, strerror(errno));
+ snprintf(temp_string, sizeof(temp_string), "lseek(%lu)", msr);
perror(temp_string);
close(*fd);
return -1;
@@ -141,7 +140,8 @@
char temp_string[50];
if (open_and_seek(cpu, addr, O_RDONLY, &fd) < 0) {
- sprintf(temp_string, "Could not read MSR for CPU#%d", cpu);
+ snprintf(temp_string, sizeof(temp_string),
+ "Could not read MSR for CPU#%d", cpu);
perror(temp_string);
}
@@ -194,13 +194,11 @@
#ifndef __DARWIN__
int ncpus = get_number_of_cpus();
int i = 0;
- char temp_string[50];
printf("\n============= Dumping INTEL SGX status =============");
if (ncpus < 1) {
- sprintf(temp_string, "Failed to get number of CPUs\n");
- perror(temp_string);
+ perror("Failed to get number of CPUs");
error = -1;
} else {
printf("\nNumber of CPUs = %d\n", ncpus);
--
To view, visit https://review.coreboot.org/21025
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I5ccc37e404f278cafae0a451c5acaa27d7907cce
Gerrit-Change-Number: 21025
Gerrit-PatchSet: 6
Gerrit-Owner: Maciej Suminski <maciej.suminski at cern.ch>
Gerrit-Reviewer: Maciej Suminski <maciej.suminski at cern.ch>
Gerrit-Reviewer: Nico Huber <nico.h at gmx.de>
Gerrit-Reviewer: Paul Menzel <paulepanter at users.sourceforge.net>
Gerrit-Reviewer: Pratikkumar V Prajapati <pratikkumar.v.prajapati at intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply at coreboot.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170822/c9494446/attachment.html>
More information about the coreboot-gerrit
mailing list