[PATCH 3/3] libtracefs: Move initialization below a null test.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Computing the address from a NULL pointer results in undefined behavior
which things like undefined behavior sanitizer promote into real
failures.

Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
 src/tracefs-dynevents.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/tracefs-dynevents.c b/src/tracefs-dynevents.c
index 61804b9..8fee474 100644
--- a/src/tracefs-dynevents.c
+++ b/src/tracefs-dynevents.c
@@ -724,13 +724,18 @@ tracefs_dynevent_info(struct tracefs_dynevent *dynevent, char **system,
 		      char **event, char **prefix, char **addr, char **format)
 {
 	char **lv[] = { system, event, prefix, addr, format };
-	char **rv[] = { &dynevent->system, &dynevent->event, &dynevent->prefix,
-			&dynevent->address, &dynevent->format };
+	char **rv[] = { NULL, NULL, NULL, NULL, NULL };
 	int i;
 
 	if (!dynevent)
 		return TRACEFS_DYNEVENT_UNKNOWN;
 
+	rv[0] = &dynevent->system;
+	rv[1] = &dynevent->event;
+	rv[2] = &dynevent->prefix;
+	rv[3] = &dynevent->address;
+	rv[4] = &dynevent->format;
+
 	for (i = 0; i < ARRAY_SIZE(lv); i++) {
 		if (lv[i]) {
 			if (*rv[i]) {
-- 
2.35.1.574.g5d30c73bfb-goog




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux