mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-05-28 04:03:29 -04:00
sample-plugins: Fix memleak in client-connect example plugin
I was looking for memleaks in the code and found
this one with cppcheck. Only an example, but no
need to leave this bug in it.
Also fix fortify problem in keying-material-exporter-demo
so I can actually test the compilation of the sample
plugins.
v2:
- remove unneccessary usages of snprintf, replace
with strncpy.
Change-Id: Ibd1b282afc4a28768be3f165f84ab60ca4d24a9b
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20230516093534.26384-1-frank@lichtenheld.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26668.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit 2d36678a2b)
This commit is contained in:
parent
eb9fffe64a
commit
13b8e155af
2 changed files with 8 additions and 2 deletions
|
|
@ -454,6 +454,9 @@ openvpn_plugin_client_connect_v2(struct plugin_context *context,
|
|||
if (!rl->name || !rl->value)
|
||||
{
|
||||
plugin_log(PLOG_ERR, MODULE, "malloc(return_list->xx) failed");
|
||||
free(rl->name);
|
||||
free(rl->value);
|
||||
free(rl);
|
||||
return OPENVPN_PLUGIN_FUNC_ERROR;
|
||||
}
|
||||
|
||||
|
|
@ -509,6 +512,9 @@ openvpn_plugin_client_connect_defer_v2(struct plugin_context *context,
|
|||
if (!rl->name || !rl->value)
|
||||
{
|
||||
plugin_log(PLOG_ERR, MODULE, "malloc(return_list->xx) failed");
|
||||
free(rl->name);
|
||||
free(rl->value);
|
||||
free(rl);
|
||||
return OPENVPN_PLUGIN_FUNC_ERROR;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ session_user_set(struct session *sess, X509 *x509)
|
|||
|
||||
if (!strncasecmp(objbuf, "CN", 2))
|
||||
{
|
||||
snprintf(sess->user, sizeof(sess->user) - 1, (char *)buf);
|
||||
strncpy(sess->user, (char *)buf, sizeof(sess->user) - 1);
|
||||
}
|
||||
|
||||
OPENSSL_free(buf);
|
||||
|
|
@ -234,7 +234,7 @@ tls_final(struct openvpn_plugin_args_func_in const *args,
|
|||
return OPENVPN_PLUGIN_FUNC_ERROR;
|
||||
}
|
||||
|
||||
snprintf(sess->key, sizeof(sess->key) - 1, "%s", key);
|
||||
strncpy(sess->key, key, sizeof(sess->key) - 1);
|
||||
ovpn_note("app session key: %s", sess->key);
|
||||
|
||||
switch (plugin->type)
|
||||
|
|
|
|||
Loading…
Reference in a new issue