diff mbox series

libtracecmd: Do not set errno to zero

Message ID 20220306213626.39b45180@rorschach.local.home (mailing list archive)
State Accepted
Commit dcd5ee314211edd21c59951f74fea11cbe3aa1f4
Headers show
Series libtracecmd: Do not set errno to zero | expand

Commit Message

Steven Rostedt March 7, 2022, 2:36 a.m. UTC
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

Libraries may set errno when an error happens, but it is in bad form to
clear errno on success.

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 lib/trace-cmd/trace-compress-zstd.c | 1 -
 lib/trace-cmd/trace-util.c          | 8 ++++----
 2 files changed, 4 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/lib/trace-cmd/trace-compress-zstd.c b/lib/trace-cmd/trace-compress-zstd.c
index 3e42fc794502..10ae7a4c03c0 100644
--- a/lib/trace-cmd/trace-compress-zstd.c
+++ b/lib/trace-cmd/trace-compress-zstd.c
@@ -46,7 +46,6 @@  static int zstd_decompress(void *ctx, const void *in, int in_bytes, void *out, i
 		return -1;
 	}
 
-	errno = 0;
 	return ret;
 }
 
diff --git a/lib/trace-cmd/trace-util.c b/lib/trace-cmd/trace-util.c
index 91e8a30fb90b..b5a0a1a601d4 100644
--- a/lib/trace-cmd/trace-util.c
+++ b/lib/trace-cmd/trace-util.c
@@ -131,6 +131,7 @@  void tracecmd_parse_proc_kallsyms(struct tep_handle *pevent,
 			 char *file, unsigned int size __maybe_unused)
 {
 	unsigned long long addr;
+	int sav_errno;
 	char *func;
 	char *line;
 	char *next = NULL;
@@ -144,13 +145,13 @@  void tracecmd_parse_proc_kallsyms(struct tep_handle *pevent,
 		int n;
 
 		mod = NULL;
+		sav_errno = errno;
 		errno = 0;
 		n = sscanf(line, "%16llx %c %n%*s%n%*1[\t][%n%*s%n",
 			   &addr, &ch, &func_start, &func_end, &mod_start, &mod_end);
-		if (errno) {
-			perror("sscanf");
+		if (errno)
 			return;
-		}
+		errno = sav_errno;
 
 		if (n != 2 || !func_end)
 			return;
@@ -521,7 +522,6 @@  int tracecmd_stack_tracer_status(int *status)
 
 	buf[n] = 0;
 
-	errno = 0;
 	num = strtol(buf, NULL, 10);
 
 	/* Check for various possible errors */