mirror of
https://github.com/strongswan/strongswan.git
synced 2025-10-07 00:01:49 -04:00
Added a null-safe strdup variant
This commit is contained in:
parent
b0892d094c
commit
1038d9fee5
@ -536,7 +536,7 @@ child_cfg_t *child_cfg_create(char *name, lifetime_cfg_t *lifetime,
|
|||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.name = strdup(name),
|
.name = strdup(name),
|
||||||
.updown = updown ? strdup(updown) : NULL,
|
.updown = strdupnull(updown),
|
||||||
.hostaccess = hostaccess,
|
.hostaccess = hostaccess,
|
||||||
.mode = mode,
|
.mode = mode,
|
||||||
.start_action = start_action,
|
.start_action = start_action,
|
||||||
|
@ -682,7 +682,7 @@ peer_cfg_t *peer_cfg_create(char *name, u_int ike_version, ike_cfg_t *ike_cfg,
|
|||||||
this->use_mobike = mobike;
|
this->use_mobike = mobike;
|
||||||
this->dpd = dpd;
|
this->dpd = dpd;
|
||||||
this->virtual_ip = virtual_ip;
|
this->virtual_ip = virtual_ip;
|
||||||
this->pool = pool ? strdup(pool) : NULL;
|
this->pool = strdupnull(pool);
|
||||||
this->local_auth = linked_list_create();
|
this->local_auth = linked_list_create();
|
||||||
this->remote_auth = linked_list_create();
|
this->remote_auth = linked_list_create();
|
||||||
this->refcount = 1;
|
this->refcount = 1;
|
||||||
|
@ -235,7 +235,7 @@ METHOD(android_creds_t, set_username_password, void,
|
|||||||
DESTROY_IF(this->user);
|
DESTROY_IF(this->user);
|
||||||
this->user = id->clone(id);
|
this->user = id->clone(id);
|
||||||
free(this->pass);
|
free(this->pass);
|
||||||
this->pass = password ? strdup(password) : NULL;
|
this->pass = strdupnull(password);
|
||||||
this->lock->unlock(this->lock);
|
this->lock->unlock(this->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -400,7 +400,7 @@ static void set_username_password(private_nm_creds_t *this, identification_t *id
|
|||||||
DESTROY_IF(this->user);
|
DESTROY_IF(this->user);
|
||||||
this->user = id->clone(id);
|
this->user = id->clone(id);
|
||||||
free(this->pass);
|
free(this->pass);
|
||||||
this->pass = password ? strdup(password) : NULL;
|
this->pass = strdupnull(password);
|
||||||
this->lock->unlock(this->lock);
|
this->lock->unlock(this->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -411,7 +411,7 @@ static void set_key_password(private_nm_creds_t *this, char *password)
|
|||||||
{
|
{
|
||||||
this->lock->write_lock(this->lock);
|
this->lock->write_lock(this->lock);
|
||||||
free(this->keypass);
|
free(this->keypass);
|
||||||
this->keypass = password ? strdup(password) : NULL;
|
this->keypass = strdupnull(password);
|
||||||
this->lock->unlock(this->lock);
|
this->lock->unlock(this->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ static void set_pin(private_nm_creds_t *this, chunk_t keyid, char *pin)
|
|||||||
this->lock->write_lock(this->lock);
|
this->lock->write_lock(this->lock);
|
||||||
free(this->keypass);
|
free(this->keypass);
|
||||||
free(this->keyid.ptr);
|
free(this->keyid.ptr);
|
||||||
this->keypass = pin ? strdup(pin) : NULL;
|
this->keypass = strdupnull(pin);
|
||||||
this->keyid = chunk_clone(keyid);
|
this->keyid = chunk_clone(keyid);
|
||||||
this->lock->unlock(this->lock);
|
this->lock->unlock(this->lock);
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ static char *getenv_cb(void *null, const char *key)
|
|||||||
private_request_t *this = (private_request_t*)thread_this->get(thread_this);
|
private_request_t *this = (private_request_t*)thread_this->get(thread_this);
|
||||||
|
|
||||||
value = FCGX_GetParam(key, this->req.envp);
|
value = FCGX_GetParam(key, this->req.envp);
|
||||||
return value ? strdup(value) : NULL;
|
return strdupnull(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -127,7 +127,7 @@ static section_t *section_create(char *name)
|
|||||||
{
|
{
|
||||||
section_t *this;
|
section_t *this;
|
||||||
INIT(this,
|
INIT(this,
|
||||||
.name = name ? strdup(name) : NULL,
|
.name = strdupnull(name),
|
||||||
.sections = linked_list_create(),
|
.sections = linked_list_create(),
|
||||||
.kv = linked_list_create(),
|
.kv = linked_list_create(),
|
||||||
);
|
);
|
||||||
|
@ -71,6 +71,11 @@
|
|||||||
*/
|
*/
|
||||||
#define strncaseeq(x,y,len) (strncasecmp(x, y, len) == 0)
|
#define strncaseeq(x,y,len) (strncasecmp(x, y, len) == 0)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NULL-safe strdup variant
|
||||||
|
*/
|
||||||
|
#define strdupnull(x) ({ char *_x = x; _x ? strdup(_x) : NULL; })
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Macro compares two binary blobs for equality
|
* Macro compares two binary blobs for equality
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user