mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-07 20:00:20 +00:00
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
This commit is contained in:
parent
b8c928ccd8
commit
3d12509f98
@ -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;
|
||||
|
||||
@ -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++;
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user