mirror of
https://github.com/emqx/neuron.git
synced 2026-10-26 03:40:01 +08:00
Merge pull request #2882 from fengzeroz/main
fix array string check null
This commit is contained in:
@@ -379,7 +379,8 @@ static int json_value_to_tag_value(union neu_json_value *req,
|
||||
value->value.strs.strs =
|
||||
calloc(req->val_array_str.length, sizeof(char *));
|
||||
for (size_t i = 0; i < req->val_array_str.length; i++) {
|
||||
value->value.strs.strs[i] = strdup(req->val_array_str.p_strs[i]);
|
||||
const char *s = req->val_array_str.p_strs[i];
|
||||
value->value.strs.strs[i] = strdup(s ? s : "");
|
||||
}
|
||||
break;
|
||||
case NEU_JSON_OBJECT:
|
||||
|
||||
@@ -365,8 +365,8 @@ void handle_write(nng_aio *aio)
|
||||
cmd.value.value.strs.strs =
|
||||
calloc(req->value.val_array_str.length, sizeof(char *));
|
||||
for (size_t i = 0; i < req->value.val_array_str.length; i++) {
|
||||
cmd.value.value.strs.strs[i] =
|
||||
strdup(req->value.val_array_str.p_strs[i]);
|
||||
const char *s = req->value.val_array_str.p_strs[i];
|
||||
cmd.value.value.strs.strs[i] = strdup(s ? s : "");
|
||||
}
|
||||
break;
|
||||
case NEU_JSON_OBJECT:
|
||||
@@ -588,8 +588,10 @@ void handle_write_tags(nng_aio *aio)
|
||||
sizeof(char *));
|
||||
for (size_t k = 0;
|
||||
k < req->tags[i].value.val_array_str.length; k++) {
|
||||
const char *s =
|
||||
req->tags[i].value.val_array_str.p_strs[k];
|
||||
cmd.tags[i].value.value.strs.strs[k] =
|
||||
strdup(req->tags[i].value.val_array_str.p_strs[k]);
|
||||
strdup(s ? s : "");
|
||||
}
|
||||
break;
|
||||
case NEU_JSON_OBJECT:
|
||||
@@ -732,8 +734,10 @@ static void trans(neu_json_write_gtags_req_t *req, neu_req_write_gtags_t *cmd)
|
||||
for (size_t j = 0;
|
||||
j < req->groups[i].tags[k].value.val_array_str.length;
|
||||
j++) {
|
||||
cmd->groups[i].tags[k].value.value.strs.strs[j] = strdup(
|
||||
req->groups[i].tags[k].value.val_array_str.p_strs[j]);
|
||||
const char *s =
|
||||
req->groups[i].tags[k].value.val_array_str.p_strs[j];
|
||||
cmd->groups[i].tags[k].value.value.strs.strs[j] =
|
||||
strdup(s ? s : "");
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
+2
-3
@@ -601,9 +601,8 @@ static int decode_object(json_t *root, neu_json_elem_t *ele)
|
||||
for (int i = 0; i < ele->v.val_array_str.length; i++) {
|
||||
json_t * value = json_array_get(ob, i);
|
||||
const char *str_val = json_string_value(value);
|
||||
if (str_val != NULL) {
|
||||
ele->v.val_array_str.p_strs[i] = strdup(str_val);
|
||||
}
|
||||
ele->v.val_array_str.p_strs[i] =
|
||||
strdup(str_val != NULL ? str_val : "");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user