-fix memory leak

This commit is contained in:
Christian Grothoff 2021-08-27 14:35:59 +02:00
parent 6761e2a997
commit 5017dacbda
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 32 additions and 2 deletions

View File

@ -124,6 +124,21 @@ TALER_MHD_reply_json (struct MHD_Connection *connection,
unsigned int response_code);
/**
* Send JSON object as response, and free the @a json
* object.
*
* @param connection the MHD connection
* @param json the json object (freed!)
* @param response_code the http response code
* @return MHD result code
*/
MHD_RESULT
TALER_MHD_reply_json_steal (struct MHD_Connection *connection,
json_t *json,
unsigned int response_code);
/**
* Function to call to handle the request by building a JSON
* reply from a format string and varargs.
@ -151,8 +166,8 @@ TALER_MHD_reply_json_pack (struct MHD_Connection *connection,
* @return MHD result code
*/
#define TALER_MHD_REPLY_JSON_PACK(connection,response_code,...) \
TALER_MHD_reply_json (connection, GNUNET_JSON_PACK (__VA_ARGS__), \
response_code)
TALER_MHD_reply_json_steal (connection, GNUNET_JSON_PACK (__VA_ARGS__), \
response_code)
/**

View File

@ -219,6 +219,21 @@ TALER_MHD_reply_json (struct MHD_Connection *connection,
}
MHD_RESULT
TALER_MHD_reply_json_steal (struct MHD_Connection *connection,
json_t *json,
unsigned int response_code)
{
MHD_RESULT ret;
ret = TALER_MHD_reply_json (connection,
json,
response_code);
json_decref (json);
return ret;
}
MHD_RESULT
TALER_MHD_reply_cors_preflight (struct MHD_Connection *connection)
{