Просмотр исходного кода

ipcc: Avoid leak of dup'ed client file descriptor

Clean up the dup'ed file descriptor on the error path.
Avoid leaking file descriptors in client applications
under error conditions such as the corosync daemon being down,
or low memory conditions.

Signed-off-by: dan clark <2clarkd@gmail.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>
Dan Clark 12 лет назад
Родитель
Сommit
28013d3a62
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      lib/coroipcc.c

+ 2 - 0
lib/coroipcc.c

@@ -786,6 +786,8 @@ error_request_buffer:
 	memory_unmap (ipc_instance->control_buffer, 8192);
 	memory_unmap (ipc_instance->control_buffer, 8192);
 	unlink (path_data->control_map_path);
 	unlink (path_data->control_map_path);
 error_connect:
 error_connect:
+	close (ipc_instance->user_app_fd);
+	ipc_instance->user_app_fd = -1;
 	close (request_fd);
 	close (request_fd);
 
 
 	hdb_handle_destroy (&ipc_hdb, *handle);
 	hdb_handle_destroy (&ipc_hdb, *handle);