GUACAMOLE-1867: Migrate Kubernetes to new memory management functions.

This commit is contained in:
Mike Jumper 2023-10-15 23:27:50 -07:00
parent cf1039845f
commit fc6195c67f
3 changed files with 22 additions and 19 deletions

View File

@ -25,6 +25,7 @@
#include <guacamole/argv.h>
#include <guacamole/client.h>
#include <guacamole/mem.h>
#include <guacamole/socket.h>
#include <libwebsockets.h>
@ -120,7 +121,7 @@ int guac_client_init(guac_client* client) {
client->args = GUAC_KUBERNETES_CLIENT_ARGS;
/* Allocate client instance data */
guac_kubernetes_client* kubernetes_client = calloc(1, sizeof(guac_kubernetes_client));
guac_kubernetes_client* kubernetes_client = guac_mem_zalloc(sizeof(guac_kubernetes_client));
client->data = kubernetes_client;
/* Set handlers */
@ -159,7 +160,7 @@ int guac_kubernetes_client_free_handler(guac_client* client) {
if (kubernetes_client->settings != NULL)
guac_kubernetes_settings_free(kubernetes_client->settings);
free(kubernetes_client);
guac_mem_free(kubernetes_client);
return 0;
}

View File

@ -28,6 +28,7 @@
#include "url.h"
#include <guacamole/client.h>
#include <guacamole/mem.h>
#include <guacamole/protocol.h>
#include <guacamole/recording.h>
#include <libwebsockets.h>
@ -255,7 +256,7 @@ void* guac_kubernetes_client_thread(void* data) {
kubernetes_client->term = guac_terminal_create(client, options);
/* Free options struct now that it's been used */
free(options);
guac_mem_free(options);
/* Fail if terminal init failed */
if (kubernetes_client->term == NULL) {

View File

@ -21,6 +21,7 @@
#include "settings.h"
#include "terminal/terminal.h"
#include <guacamole/mem.h>
#include <guacamole/user.h>
#include <stdlib.h>
@ -255,7 +256,7 @@ guac_kubernetes_settings* guac_kubernetes_parse_args(guac_user* user,
}
guac_kubernetes_settings* settings =
calloc(1, sizeof(guac_kubernetes_settings));
guac_mem_zalloc(sizeof(guac_kubernetes_settings));
/* Read hostname */
settings->hostname =
@ -411,35 +412,35 @@ guac_kubernetes_settings* guac_kubernetes_parse_args(guac_user* user,
void guac_kubernetes_settings_free(guac_kubernetes_settings* settings) {
/* Free network connection information */
free(settings->hostname);
guac_mem_free(settings->hostname);
/* Free Kubernetes pod/container details */
free(settings->kubernetes_namespace);
free(settings->kubernetes_pod);
free(settings->kubernetes_container);
guac_mem_free(settings->kubernetes_namespace);
guac_mem_free(settings->kubernetes_pod);
guac_mem_free(settings->kubernetes_container);
/* Free Kubernetes exec command */
free(settings->exec_command);
guac_mem_free(settings->exec_command);
/* Free SSL/TLS details */
free(settings->client_cert);
free(settings->client_key);
free(settings->ca_cert);
guac_mem_free(settings->client_cert);
guac_mem_free(settings->client_key);
guac_mem_free(settings->ca_cert);
/* Free display preferences */
free(settings->font_name);
free(settings->color_scheme);
guac_mem_free(settings->font_name);
guac_mem_free(settings->color_scheme);
/* Free typescript settings */
free(settings->typescript_name);
free(settings->typescript_path);
guac_mem_free(settings->typescript_name);
guac_mem_free(settings->typescript_path);
/* Free screen recording settings */
free(settings->recording_name);
free(settings->recording_path);
guac_mem_free(settings->recording_name);
guac_mem_free(settings->recording_path);
/* Free overall structure */
free(settings);
guac_mem_free(settings);
}