shared/json: fix memory leak on failed normalization

We need to increase the counter immediately after taking the ref,
otherwise we may not unref it properly if we fail before incrementing.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2022-05-09 14:28:36 +02:00
parent bac06497fe
commit 7e4be6a584
2 changed files with 4 additions and 2 deletions

View file

@ -4655,10 +4655,11 @@ int json_variant_normalize(JsonVariant **v) {
if (!a)
return -ENOMEM;
for (i = 0; i < m; i++) {
for (i = 0; i < m; ) {
a[i] = json_variant_ref(json_variant_by_index(*v, i));
i++;
r = json_variant_normalize(a + i);
r = json_variant_normalize(&a[i-1]);
if (r < 0)
goto finish;
}

View file

@ -0,0 +1 @@
[7E73]