Skip to content

Commit b785118

Browse files
cosmo0920edsiper
authored andcommitted
cfl_record_accessor: Plug resource leaks (CID 516097)
Signed-off-by: Hiroshi Hatake <[email protected]>
1 parent 4d715c0 commit b785118

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

src/flb_cfl_record_accessor.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -532,72 +532,72 @@ static int cfl_to_json(struct cfl_variant *var, flb_sds_t buf)
532532

533533
switch (var->type) {
534534
case CFL_VARIANT_NULL:
535-
flb_sds_cat(buf, "null", 4);
535+
flb_sds_cat_safe(&buf, "null", 4);
536536
break;
537537
case CFL_VARIANT_BOOL:
538538
if (var->data.as_bool) {
539-
flb_sds_cat(buf, "true", 4);
539+
flb_sds_cat_safe(&buf, "true", 4);
540540
}
541541
else {
542-
flb_sds_cat(buf, "false", 5);
542+
flb_sds_cat_safe(&buf, "false", 5);
543543
}
544544
break;
545545
case CFL_VARIANT_INT: {
546546
char tmp[32] = {0};
547547
i = snprintf(tmp, sizeof(tmp)-1, "%"PRId64, var->data.as_int64);
548-
flb_sds_cat(buf, tmp, i);
548+
flb_sds_cat_safe(&buf, tmp, i);
549549
break;
550550
}
551551
case CFL_VARIANT_UINT: {
552552
char tmp[32] = {0};
553553
i = snprintf(tmp, sizeof(tmp)-1, "%"PRIu64, var->data.as_uint64);
554-
flb_sds_cat(buf, tmp, i);
554+
flb_sds_cat_safe(&buf, tmp, i);
555555
break;
556556
}
557557
case CFL_VARIANT_DOUBLE: {
558558
char tmp[512] = {0};
559559
i = snprintf(tmp, sizeof(tmp)-1, "%"PRIu64, var->data.as_uint64);
560-
flb_sds_cat(buf, tmp, i);
560+
flb_sds_cat_safe(&buf, tmp, i);
561561
break;
562562
}
563563
case CFL_VARIANT_STRING:
564-
flb_sds_cat(buf, "\"", 1);
565-
flb_sds_cat(buf, var->data.as_string, cfl_sds_len(var->data.as_string));
566-
flb_sds_cat(buf, "\"", 1);
564+
flb_sds_cat_safe(&buf, "\"", 1);
565+
flb_sds_cat_safe(&buf, var->data.as_string, cfl_sds_len(var->data.as_string));
566+
flb_sds_cat_safe(&buf, "\"", 1);
567567
break;
568568
case CFL_VARIANT_BYTES:
569-
flb_sds_cat(buf, "\"", 1);
570-
flb_sds_cat(buf, var->data.as_string, cfl_sds_len(var->data.as_bytes));
571-
flb_sds_cat(buf, "\"", 1);
569+
flb_sds_cat_safe(&buf, "\"", 1);
570+
flb_sds_cat_safe(&buf, var->data.as_string, cfl_sds_len(var->data.as_bytes));
571+
flb_sds_cat_safe(&buf, "\"", 1);
572572
break;
573573
case CFL_VARIANT_ARRAY: {
574574
struct cfl_array *array = var->data.as_array;
575575
loop = cfl_array_size(array);
576576

577-
flb_sds_cat(buf, "[", 1);
577+
flb_sds_cat_safe(&buf, "[", 1);
578578
if (loop != 0) {
579579
for (i = 0; i < loop - 1; i++) {
580580
cfl_to_json(array->entries[i], buf);
581-
flb_sds_cat(buf, ",", 1);
581+
flb_sds_cat_safe(&buf, ",", 1);
582582
}
583583
}
584584
cfl_to_json(array->entries[loop-1], buf);
585-
flb_sds_cat(buf, "]", 1);
585+
flb_sds_cat_safe(&buf, "]", 1);
586586
break;
587587
}
588588
case CFL_VARIANT_KVLIST:
589589
kvlist = var->data.as_kvlist;
590-
flb_sds_cat(buf, "{", 1);
590+
flb_sds_cat_safe(&buf, "{", 1);
591591
cfl_list_foreach(head, &kvlist->list) {
592592
kv = cfl_list_entry(head, struct cfl_kvpair, _head);
593593

594594
/* key */
595-
flb_sds_cat(buf, "\"", 1);
596-
flb_sds_cat(buf, kv->key, cfl_sds_len(kv->key));
597-
flb_sds_cat(buf, "\"", 1);
595+
flb_sds_cat_safe(&buf, "\"", 1);
596+
flb_sds_cat_safe(&buf, kv->key, cfl_sds_len(kv->key));
597+
flb_sds_cat_safe(&buf, "\"", 1);
598598

599599
/* separator */
600-
flb_sds_cat(buf, ":", 1);
600+
flb_sds_cat_safe(&buf, ":", 1);
601601

602602
/* value */
603603
ret = cfl_to_json(kv->val, buf);
@@ -606,7 +606,7 @@ static int cfl_to_json(struct cfl_variant *var, flb_sds_t buf)
606606
}
607607
break;
608608
}
609-
flb_sds_cat(buf, "}", 1);
609+
flb_sds_cat_safe(&buf, "}", 1);
610610
}
611611

612612
return 0;

0 commit comments

Comments
 (0)