From 3d12509f987c9bee6e7c28589a02be2015284e43 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Tue, 20 Mar 2012 20:29:15 +0100 Subject: Use spice_strdup() to avoid crashing on NULL qemu can call spice_server_set_name(s, NULL) when the name is not given. Let's not crash in this case --- server/main_channel.c | 4 ++-- server/red_tunnel_worker.c | 4 ++-- server/reds.c | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/server/main_channel.c b/server/main_channel.c index 9998c9f7..72b67353 100644 --- a/server/main_channel.c +++ b/server/main_channel.c @@ -639,10 +639,10 @@ static void main_channel_fill_mig_target(MainChannel *main_channel, RedsMigSpice { ASSERT(mig_target); free(main_channel->mig_target.host); - main_channel->mig_target.host = strdup(mig_target->host); + main_channel->mig_target.host = spice_strdup(mig_target->host); free(main_channel->mig_target.cert_subject); if (mig_target->cert_subject) { - main_channel->mig_target.cert_subject = strdup(mig_target->cert_subject); + main_channel->mig_target.cert_subject = spice_strdup(mig_target->cert_subject); } main_channel->mig_target.port = mig_target->port; main_channel->mig_target.sport = mig_target->sport; diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c index 9162da48..ff402777 100644 --- a/server/red_tunnel_worker.c +++ b/server/red_tunnel_worker.c @@ -1077,8 +1077,8 @@ static inline TunnelService *__tunnel_worker_add_service(TunnelWorker *worker, u new_service->group = group; new_service->port = port; - new_service->name = strdup(name); - new_service->description = strdup(description); + new_service->name = spice_strdup(name); + new_service->description = spice_strdup(description); ring_add(&worker->services, &new_service->ring_item); worker->num_services++; diff --git a/server/reds.c b/server/reds.c index d095370c..94d31fdd 100644 --- a/server/reds.c +++ b/server/reds.c @@ -2366,7 +2366,7 @@ static void reds_handle_auth_mechname(void *opaque) } free(sasl->mechlist); - sasl->mechlist = strdup(sasl->mechname); + sasl->mechlist = spice_strdup(sasl->mechname); red_printf("Validated mechname '%s'", sasl->mechname); @@ -2501,7 +2501,7 @@ static void reds_start_auth_sasl(RedLinkInfo *link) } red_printf("Available mechanisms for client: '%s'", mechlist); - sasl->mechlist = strdup(mechlist); + sasl->mechlist = spice_strdup(mechlist); mechlistlen = strlen(mechlist); if (!sync_write(link->stream, &mechlistlen, sizeof(uint32_t)) @@ -3775,7 +3775,7 @@ SPICE_GNUC_VISIBLE int spice_server_set_sasl_appname(SpiceServer *s, const char ASSERT(reds == s); #if HAVE_SASL free(sasl_appname); - sasl_appname = strdup(appname); + sasl_appname = spice_strdup(appname); return 0; #else return -1; @@ -3785,7 +3785,7 @@ SPICE_GNUC_VISIBLE int spice_server_set_sasl_appname(SpiceServer *s, const char SPICE_GNUC_VISIBLE void spice_server_set_name(SpiceServer *s, const char *name) { free(spice_name); - spice_name = strdup(name); + spice_name = spice_strdup(name); } SPICE_GNUC_VISIBLE void spice_server_set_uuid(SpiceServer *s, const uint8_t uuid[16]) @@ -4022,9 +4022,9 @@ static int reds_set_migration_dest_info(const char* dest, spice_migration = spice_new0(RedsMigSpice, 1); spice_migration->port = port; spice_migration->sport = secure_port; - spice_migration->host = strdup(dest); + spice_migration->host = spice_strdup(dest); if (cert_subject) { - spice_migration->cert_subject = strdup(cert_subject); + spice_migration->cert_subject = spice_strdup(cert_subject); } reds->mig_spice = spice_migration; -- cgit