@@ -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