# HG changeset patch # User Sebastien Jodogne # Date 1693376061 -7200 # Node ID 5f0b7795afaf6fa22afbae2a20eacbee2b1b1aec # Parent 45722358d4592aba06751f29082cdc5814d43254 fixing the first leak diff -r 45722358d459 -r 5f0b7795afaf CMakeLists.txt --- a/CMakeLists.txt Wed Aug 30 08:14:02 2023 +0200 +++ b/CMakeLists.txt Wed Aug 30 08:14:21 2023 +0200 @@ -178,6 +178,7 @@ Sources/OnChangeCallback.cpp Sources/OnStoredInstanceCallback.cpp Sources/Plugin.cpp + Sources/PythonBytes.cpp Sources/PythonFunction.cpp Sources/PythonLock.cpp Sources/PythonModule.cpp diff -r 45722358d459 -r 5f0b7795afaf Sources/RestCallbacks.cpp --- a/Sources/RestCallbacks.cpp Wed Aug 30 08:14:02 2023 +0200 +++ b/Sources/RestCallbacks.cpp Wed Aug 30 08:14:21 2023 +0200 @@ -22,6 +22,7 @@ #include "../Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h" #include "Autogenerated/sdk.h" +#include "PythonBytes.h" #include "PythonString.h" #include @@ -170,8 +171,8 @@ if (request->method == OrthancPluginHttpMethod_Post || request->method == OrthancPluginHttpMethod_Put) { - PyDict_SetItemString(kw.GetPyObject(), "body", PyBytes_FromStringAndSize( - reinterpret_cast(request->body), request->bodySize)); + PythonBytes bytes(lock, request->body, request->bodySize); + PyDict_SetItemString(kw.GetPyObject(), "body", bytes.GetPyObject()); } /**