degesch: Lua: fix a resource leak
This commit is contained in:
		
							parent
							
								
									a7be2bf160
								
							
						
					
					
						commit
						a259e96405
					
				| @ -7638,16 +7638,20 @@ lua_plugin_call (struct lua_plugin *self, | ||||
| 	int n_params, int n_results, struct error **e) | ||||
| { | ||||
| 	lua_State *L = self->L; | ||||
| 	lua_pushcfunction (L, lua_plugin_error_handler); | ||||
| 
 | ||||
| 	// We need to pop the error handler at the end
 | ||||
| 	lua_pushcfunction (L, lua_plugin_error_handler); | ||||
| 	int error_handler_idx = -n_params - 2; | ||||
| 	lua_insert (L, error_handler_idx); | ||||
| 
 | ||||
| 	if (!lua_pcall (L, n_params, n_results, error_handler_idx)) | ||||
| 	{ | ||||
| 		lua_remove (L, -n_results - 1); | ||||
| 		return true; | ||||
| 	} | ||||
| 
 | ||||
| 	(void) lua_plugin_process_error (self, lua_tostring (L, -1), e); | ||||
| 	lua_pop (L, 1); | ||||
| 	lua_pop (L, 2); | ||||
| 	return false; | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user