json: make JSON_BUILD_PAIR_IN_ADDR_NON_NULL or friends handle NULL gracefully

Fixes #21567.
This commit is contained in:
Yu Watanabe
2021-11-30 10:03:51 +09:00
parent a41699c90b
commit b89931ba28
+5 -5
View File
@@ -3985,7 +3985,7 @@ int json_buildv(JsonVariant **ret, va_list ap) {
n = va_arg(ap, const char *);
a = va_arg(ap, const struct in_addr *);
if (in4_addr_is_set(a) && current->n_suppress == 0) {
if (a && in4_addr_is_set(a) && current->n_suppress == 0) {
r = json_variant_new_string(&add, n);
if (r < 0)
goto finish;
@@ -4013,7 +4013,7 @@ int json_buildv(JsonVariant **ret, va_list ap) {
n = va_arg(ap, const char *);
a = va_arg(ap, const struct in6_addr *);
if (in6_addr_is_set(a) && current->n_suppress == 0) {
if (a && in6_addr_is_set(a) && current->n_suppress == 0) {
r = json_variant_new_string(&add, n);
if (r < 0)
goto finish;
@@ -4043,7 +4043,7 @@ int json_buildv(JsonVariant **ret, va_list ap) {
a = va_arg(ap, const union in_addr_union *);
f = va_arg(ap, int);
if (in_addr_is_set(f, a) && current->n_suppress == 0) {
if (a && in_addr_is_set(f, a) && current->n_suppress == 0) {
r = json_variant_new_string(&add, n);
if (r < 0)
goto finish;
@@ -4071,7 +4071,7 @@ int json_buildv(JsonVariant **ret, va_list ap) {
n = va_arg(ap, const char *);
a = va_arg(ap, const struct ether_addr *);
if (!ether_addr_is_null(a) && current->n_suppress == 0) {
if (a && !ether_addr_is_null(a) && current->n_suppress == 0) {
r = json_variant_new_string(&add, n);
if (r < 0)
goto finish;
@@ -4099,7 +4099,7 @@ int json_buildv(JsonVariant **ret, va_list ap) {
n = va_arg(ap, const char *);
a = va_arg(ap, const struct hw_addr_data *);
if (!hw_addr_is_null(a) && current->n_suppress == 0) {
if (a && !hw_addr_is_null(a) && current->n_suppress == 0) {
r = json_variant_new_string(&add, n);
if (r < 0)
goto finish;