Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToolsDevler <info@toolsdevler.net>2022-04-17 01:42:40 +0300
committerToolsDevler <info@toolsdevler.net>2022-04-17 01:42:40 +0300
commit234f01c5af8ea677a78b1cea2e4a06e0aef58334 (patch)
tree74045c7e180e758f8743895fb40336b804b5d497
parentfea889e7297033a5436576847f80c8d84854a193 (diff)
Fix sanitizer issues.
-rw-r--r--src/remmina_plugin_python_protocol.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/remmina_plugin_python_protocol.c b/src/remmina_plugin_python_protocol.c
index cc2d4d608..c5172e22b 100644
--- a/src/remmina_plugin_python_protocol.c
+++ b/src/remmina_plugin_python_protocol.c
@@ -236,15 +236,16 @@ RemminaPlugin* remmina_plugin_python_create_protocol_plugin(PyPlugin* plugin)
Py_ssize_t len = PyList_Size(list);
if (len)
{
- RemminaProtocolSetting* basic_settings = (RemminaProtocolSetting*)remmina_plugin_python_malloc(sizeof(RemminaProtocolSetting) * len);
- memset(&basic_settings[len], 0, sizeof(RemminaProtocolSetting));
+ RemminaProtocolSetting* basic_settings = (RemminaProtocolSetting*)remmina_plugin_python_malloc(sizeof(RemminaProtocolSetting) * (len+1));
+ memset(basic_settings, 0, sizeof(RemminaProtocolSetting) * (len+1));
for (Py_ssize_t i = 0; i < len; ++i)
{
RemminaProtocolSetting* dest = basic_settings + i;
remmina_plugin_python_to_protocol_setting(dest, PyList_GetItem(list, i));
}
-
+ RemminaProtocolSetting* dest = basic_settings + len;
+ dest->type = REMMINA_PROTOCOL_SETTING_TYPE_END;
remmina_plugin->basic_settings = basic_settings;
}
@@ -254,7 +255,7 @@ RemminaPlugin* remmina_plugin_python_create_protocol_plugin(PyPlugin* plugin)
{
RemminaProtocolSetting* advanced_settings = (RemminaProtocolSetting*)remmina_plugin_python_malloc(
sizeof(RemminaProtocolSetting) * (len + 1));
- memset(&advanced_settings[len], 0, sizeof(RemminaProtocolSetting));
+ memset(advanced_settings, 0, sizeof(RemminaProtocolSetting) * (len+1));
for (Py_ssize_t i = 0; i < len; ++i)
{
@@ -262,6 +263,9 @@ RemminaPlugin* remmina_plugin_python_create_protocol_plugin(PyPlugin* plugin)
remmina_plugin_python_to_protocol_setting(dest, PyList_GetItem(list, i));
}
+ RemminaProtocolSetting* dest = advanced_settings + len;
+ dest->type = REMMINA_PROTOCOL_SETTING_TYPE_END;
+
remmina_plugin->advanced_settings = advanced_settings;
}
@@ -270,7 +274,7 @@ RemminaPlugin* remmina_plugin_python_create_protocol_plugin(PyPlugin* plugin)
if (len)
{
RemminaProtocolFeature* features = (RemminaProtocolFeature*)remmina_plugin_python_malloc(sizeof(RemminaProtocolFeature) * (len + 1));
- memset(&features[len], 0, sizeof(RemminaProtocolFeature));
+ memset(features, 0, sizeof(RemminaProtocolFeature) * (len+1));
for (Py_ssize_t i = 0; i < len; ++i)
{
@@ -278,6 +282,9 @@ RemminaPlugin* remmina_plugin_python_create_protocol_plugin(PyPlugin* plugin)
remmina_plugin_python_to_protocol_feature(dest, PyList_GetItem(list, i));
}
+ RemminaProtocolFeature* dest = features + len;
+ dest->type = REMMINA_PROTOCOL_FEATURE_TYPE_END;
+
remmina_plugin->features = features;
}