From 0dac8f2b02013b4cf77a74ce40349a322336c857 Mon Sep 17 00:00:00 2001
From: "alexey.stratulat" <alexey.stratulat@demlabs.net>
Date: Sun, 1 Mar 2020 23:44:21 +0700
Subject: [PATCH] [*] Deleted calculation of argc. Added memory clearing for
 argv.

---
 src/libdap-app-cli-python.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/libdap-app-cli-python.c b/src/libdap-app-cli-python.c
index c883af1..5a2a08d 100644
--- a/src/libdap-app-cli-python.c
+++ b/src/libdap-app-cli-python.c
@@ -23,7 +23,7 @@ PyObject* dap_app_cli_main_py(PyObject *self, PyObject *args)
     Py_ssize_t l_args_py_size = PyList_Size(l_args_py);
     if (l_args_py_size > 1){
         l_argc = (int)l_args_py_size;
-        l_argv = calloc(sizeof(char*), (l_argc-1));
+        l_argv = calloc(sizeof(char*), l_argc);
         PyObject *l_obj_from_list = NULL;
         for (int i = 0; i < l_argc; i++){
             l_obj_from_list = PyList_GetItem(l_args_py, i);
@@ -33,6 +33,7 @@ PyObject* dap_app_cli_main_py(PyObject *self, PyObject *args)
             Py_XDECREF(l_obj_from_list);
         }
         return PyLong_FromLong((long)dap_app_cli_main(l_app_name, l_socket_path, l_argc, l_argv));
+        DAP_FREE(l_argv);
     }else
         return PyLong_FromLong(-1024);
 }
-- 
GitLab