@@ -87,14 +87,6 @@ struct ScriptExecResult scriptexec_run_with_options(const char *script, struct S
8787 string_buffer_append_string (buffer , "/script" );
8888 char * script_file = string_buffer_to_string (buffer );
8989
90- string_buffer_append_string (buffer , ".out" );
91- char * out_file = string_buffer_to_string (buffer );
92-
93- string_buffer_clear (buffer );
94- string_buffer_append_string (buffer , script_file );
95- string_buffer_append_string (buffer , ".err" );
96- char * err_file = string_buffer_to_string (buffer );
97-
9890 // write script file
9991 bool written = fsio_write_text_file (script_file , updated_script );
10092 free (updated_script );
@@ -103,15 +95,20 @@ struct ScriptExecResult scriptexec_run_with_options(const char *script, struct S
10395 rmdir (dir_name );
10496
10597 string_buffer_release (buffer );
106- free (dir_name );
10798 free (script_file );
108- free (out_file );
109- free (err_file );
11099
111100 result .code = -1 ;
112101 return (result );
113102 }
114103
104+ string_buffer_append_string (buffer , ".out" );
105+ char * out_file = string_buffer_to_string (buffer );
106+
107+ string_buffer_clear (buffer );
108+ string_buffer_append_string (buffer , script_file );
109+ string_buffer_append_string (buffer , ".err" );
110+ char * err_file = string_buffer_to_string (buffer );
111+
115112 // create command
116113 char * runner = options .runner ;
117114 if (runner == NULL )
@@ -132,17 +129,15 @@ struct ScriptExecResult scriptexec_run_with_options(const char *script, struct S
132129 result .code = system (command );
133130 free (command );
134131
135- // read out/err
136- result .out = _scriptexec_read_and_delete_text_file (out_file );
137- result .err = _scriptexec_read_and_delete_text_file (err_file );
138-
139132 // delete files
140133 remove (script_file );
141134 rmdir (dir_name );
142-
143- free (dir_name );
144135 free (script_file );
136+
137+ // read out/err
138+ result .out = _scriptexec_read_and_delete_text_file (out_file );
145139 free (out_file );
140+ result .err = _scriptexec_read_and_delete_text_file (err_file );
146141 free (err_file );
147142
148143 return (result );
0 commit comments