diff mbox series

lnstat: Fix deref of null in print_json() function

Message ID 20240106190423.25385-1-maks.mishinFZ@gmail.com (mailing list archive)
State Accepted
Commit a193733b7a7ef1e65e1b88045c32f96ed16caeb9
Delegated to: Stephen Hemminger
Headers show
Series lnstat: Fix deref of null in print_json() function | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Maks Mishin Jan. 6, 2024, 7:04 p.m. UTC
Now pointer `jw` is being checked for NULL before using
in function `jsonw_start_object`.
Added exit from function when `jw==NULL`.

Found by RASU JSC

Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
---
 misc/lnstat.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Stephen Hemminger Jan. 6, 2024, 10:10 p.m. UTC | #1
On Sat,  6 Jan 2024 22:04:23 +0300
Maks Mishin <maks.mishinfz@gmail.com> wrote:

> Now pointer `jw` is being checked for NULL before using
> in function `jsonw_start_object`.
> Added exit from function when `jw==NULL`.
> 
> Found by RASU JSC
> 
> Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>

Probably not worth fixing.
If the malloc() of 20 bytes ever fails then something is really wrong.
The Linux kernel will kill the process first.
patchwork-bot+netdevbpf@kernel.org Jan. 8, 2024, 5:40 p.m. UTC | #2
Hello:

This patch was applied to iproute2/iproute2.git (main)
by Stephen Hemminger <stephen@networkplumber.org>:

On Sat,  6 Jan 2024 22:04:23 +0300 you wrote:
> Now pointer `jw` is being checked for NULL before using
> in function `jsonw_start_object`.
> Added exit from function when `jw==NULL`.
> 
> Found by RASU JSC
> 
> Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
> 
> [...]

Here is the summary with links:
  - lnstat: Fix deref of null in print_json() function
    https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=a193733b7a7e

You are awesome, thank you!
diff mbox series

Patch

diff --git a/misc/lnstat.c b/misc/lnstat.c
index c3f2999c..f802a0f3 100644
--- a/misc/lnstat.c
+++ b/misc/lnstat.c
@@ -112,6 +112,10 @@  static void print_json(FILE *of, const struct lnstat_file *lnstat_files,
 	json_writer_t *jw = jsonw_new(of);
 	int i;
 
+	if (jw == NULL) {
+		fprintf(stderr, "Failed to create JSON writer\n");
+		exit(1);
+	}
 	jsonw_start_object(jw);
 	for (i = 0; i < fp->num; i++) {
 		const struct lnstat_field *lf = fp->params[i].lf;