Skip to content

Commit e09fce3

Browse files
ikegami-tigaw
authored andcommitted
nvme-print, ocp-print-json: fix to output alloc_error
Since it was set incorrectly to the _cleanup_free_ value. Then the alloc_error pointer is freed but not allocated. Signed-off-by: Tokunori Ikegami <[email protected]>
1 parent 9ff2f9f commit e09fce3

3 files changed

Lines changed: 14 additions & 13 deletions

File tree

nvme-print-json.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ static void obj_add_result(struct json_object *o, const char *v, ...)
123123
va_start(ap, v);
124124

125125
if (vasprintf(&value, v, ap) < 0)
126-
value = alloc_error;
126+
value = NULL;
127127

128-
obj_add_str(o, "Result", value);
128+
obj_add_str(o, "Result", value ? value : alloc_error);
129129

130130
va_end(ap);
131131
}
@@ -139,9 +139,9 @@ static void obj_add_key(struct json_object *o, const char *k, const char *v, ...
139139
va_start(ap, v);
140140

141141
if (vasprintf(&value, v, ap) < 0)
142-
value = alloc_error;
142+
value = NULL;
143143

144-
obj_add_str(o, k, value);
144+
obj_add_str(o, k, value ? value : alloc_error);
145145

146146
va_end(ap);
147147
}
@@ -5357,9 +5357,9 @@ static void json_output_message(bool error, const char *msg, va_list ap)
53575357
_cleanup_free_ char *value = NULL;
53585358

53595359
if (vasprintf(&value, msg, ap) < 0)
5360-
value = alloc_error;
5360+
value = NULL;
53615361

5362-
obj_add_str(r, error ? "error" : "result", value);
5362+
obj_add_str(r, error ? "error" : "result", value ? value : alloc_error);
53635363

53645364
obj_print(r);
53655365
}
@@ -5371,9 +5371,10 @@ static void json_output_perror(const char *msg, va_list ap)
53715371
_cleanup_free_ char *error = NULL;
53725372

53735373
if (vasprintf(&error, msg, ap) < 0)
5374-
error = alloc_error;
5374+
error = NULL;
53755375

5376-
obj_add_key(r, "error", "%s: %s", error, nvme_strerror(errno));
5376+
obj_add_key(r, "error", "%s: %s", error ? error : alloc_error,
5377+
nvme_strerror(errno));
53775378

53785379
json_output_object(r);
53795380
}

nvme-print-stdout.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6281,9 +6281,9 @@ static void stdout_perror(const char *msg, va_list ap)
62816281
_cleanup_free_ char *error = NULL;
62826282

62836283
if (vasprintf(&error, msg, ap) < 0)
6284-
error = alloc_error;
6284+
error = NULL;
62856285

6286-
perror(error);
6286+
perror(error ? error : alloc_error);
62876287
}
62886288

62896289
static void stdout_key_value(const char *key, const char *val, va_list ap)
@@ -6293,7 +6293,7 @@ static void stdout_key_value(const char *key, const char *val, va_list ap)
62936293
if (vasprintf(&value, val, ap) < 0)
62946294
value = NULL;
62956295

6296-
printf("%s: %s\n", key, value ? value : "Could not allocate string");
6296+
printf("%s: %s\n", key, value ? value : alloc_error);
62976297
}
62986298

62996299
static void stdout_discovery_log(struct nvmf_discovery_log *log, int numrec)

plugins/ocp/ocp-print-json.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ static void obj_add_result(struct json_object *o, const char *v, ...)
6868
va_start(ap, v);
6969

7070
if (vasprintf(&value, v, ap) < 0)
71-
value = alloc_error;
71+
value = NULL;
7272

73-
obj_add_str(o, "Result", value);
73+
obj_add_str(o, "Result", value ? value : alloc_error);
7474

7575
va_end(ap);
7676
}

0 commit comments

Comments
 (0)