diff --git a/plugins/psgi/psgi_plugin.c b/plugins/psgi/psgi_plugin.c index 612d8d14..98e3a3a4 100644 --- a/plugins/psgi/psgi_plugin.c +++ b/plugins/psgi/psgi_plugin.c @@ -824,8 +824,8 @@ static uint64_t uwsgi_perl_rpc(void *func, uint8_t argc, char **argv, uint16_t a char *value = SvPV(response, rlen ); if (rlen > 0) { *buffer = uwsgi_malloc(rlen); + memcpy(*buffer, value, ret); } - memcpy(buffer, value, ret); } PUTBACK; diff --git a/plugins/python/python_plugin.c b/plugins/python/python_plugin.c index 2dc1962e..95cbc726 100644 --- a/plugins/python/python_plugin.c +++ b/plugins/python/python_plugin.c @@ -1548,7 +1548,7 @@ uint64_t uwsgi_python_rpc(void *func, uint8_t argc, char **argv, uint16_t argvs[ rl = PyString_Size(ret); if (rl > 0) { *buffer = uwsgi_malloc(rl); - memcpy(buffer, rv, rl); + memcpy(*buffer, rv, rl); Py_DECREF(ret); UWSGI_RELEASE_GIL; return rl; diff --git a/plugins/rack/rack_plugin.c b/plugins/rack/rack_plugin.c index 7cba417e..6d7860c4 100644 --- a/plugins/rack/rack_plugin.c +++ b/plugins/rack/rack_plugin.c @@ -345,7 +345,7 @@ uint64_t uwsgi_ruby_rpc(void *func, uint8_t argc, char **argv, uint16_t argvs[], rl = RSTRING_LEN(ret); if (rl > 0) { *buffer = uwsgi_malloc(rl); - memcpy(buffer, rv, rl); + memcpy(*buffer, rv, rl); return rl; } }