Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame^] | 1 | From 06b2a6aa70616aafab780514d9d26e85bd98d965 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Thu, 25 Aug 2022 14:02:16 -0700 |
| 4 | Subject: [PATCH] http/fetch: Pass a non-null buffer to |
| 5 | ne_set_request_body_buffer API |
| 6 | |
| 7 | Newer versions of neon has added a check for non-null arguments for |
| 8 | ne_set_request_body_buffer() API and this is triggered but older |
| 9 | compiler only treats -Wnonnull as warning so all was fine, however gcc |
| 10 | 12.2 has started to throw this warning as error by default and builds |
| 11 | are breaking |
| 12 | |
| 13 | Fixes |
| 14 | src/HTTPFetch.cc:186:38: warning: null passed to a callee that requires a non-null argument [-Wnonnull] |
| 15 | ne_set_request_body_buffer(req,0,0); |
| 16 | ~ ^ |
| 17 | Upstream-Status: Submitted [https://github.com/metabrainz/libmusicbrainz/pull/18] |
| 18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 19 | --- |
| 20 | src/HTTPFetch.cc | 6 +++++- |
| 21 | 1 file changed, 5 insertions(+), 1 deletion(-) |
| 22 | |
| 23 | diff --git a/src/HTTPFetch.cc b/src/HTTPFetch.cc |
| 24 | index baec359..0c0d919 100644 |
| 25 | --- a/src/HTTPFetch.cc |
| 26 | +++ b/src/HTTPFetch.cc |
| 27 | @@ -182,8 +182,10 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R |
| 28 | } |
| 29 | |
| 30 | ne_request *req = ne_request_create(sess, Request.c_str(), URL.c_str()); |
| 31 | + ne_buffer *body = ne_buffer_create(); |
| 32 | + |
| 33 | if (Request=="PUT") |
| 34 | - ne_set_request_body_buffer(req,0,0); |
| 35 | + ne_set_request_body_buffer(req, body->data, ne_buffer_size(body)); |
| 36 | |
| 37 | if (Request!="GET") |
| 38 | ne_set_request_flag(req, NE_REQFLAG_IDEMPOTENT, 0); |
| 39 | @@ -195,6 +197,8 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R |
| 40 | |
| 41 | Ret=m_d->m_Data.size(); |
| 42 | |
| 43 | + ne_buffer_destroy(body); |
| 44 | + |
| 45 | ne_request_destroy(req); |
| 46 | |
| 47 | m_d->m_ErrorMessage = ne_get_error(sess); |
| 48 | -- |
| 49 | 2.37.2 |
| 50 | |