diff options
author | ToolsDevler <info@toolsdevler.net> | 2022-04-17 01:42:40 +0300 |
---|---|---|
committer | ToolsDevler <info@toolsdevler.net> | 2022-04-17 01:42:40 +0300 |
commit | 234f01c5af8ea677a78b1cea2e4a06e0aef58334 (patch) | |
tree | 74045c7e180e758f8743895fb40336b804b5d497 | |
parent | fea889e7297033a5436576847f80c8d84854a193 (diff) |
Fix sanitizer issues.
-rw-r--r-- | src/remmina_plugin_python_protocol.c | 17 |
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; } |