File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -66,15 +66,23 @@ DELCARE_HANDLER(print) {
6666 {
6767 if (jerry_value_is_string (args_p [cc ]))
6868 {
69- static char buffer [128 ];
70- jerry_size_t size , maxsize ;
71- size = jerry_get_string_size (args_p [0 ]);
72- maxsize = MIN (size , 126 );
69+ char * buffer ;
70+ jerry_size_t size = jerry_get_string_size (args_p [0 ]);
71+ buffer = (char * ) malloc (size + 1 );
72+
73+ if (!buffer )
74+ {
75+ // not enough memory for this string.
76+ printf ("[<too-long-string>]" );
77+ continue ;
78+ }
79+
7380 jerry_string_to_char_buffer (args_p [cc ],
7481 (jerry_char_t * ) buffer ,
75- maxsize );
82+ size );
7683 * (buffer + size ) = 0 ;
7784 printf ("[%s] " , buffer );
85+ free (buffer );
7886 }
7987 else
8088 {
Original file line number Diff line number Diff line change @@ -106,8 +106,6 @@ int js_loop (uint32_t ticknow)
106106 ret_code = -3 ;
107107 }
108108
109- free (val_args );
110-
111109 jerry_release_value (res );
112110 jerry_release_value (sysloop_func );
113111 jerry_release_value (global_obj_val );
You can’t perform that action at this time.
0 commit comments