aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/filetransfer.cc
diff options
context:
space:
mode:
authorJade Lovelace <lix@jade.fyi>2024-03-29 20:26:38 -0700
committerJade Lovelace <lix@jade.fyi>2024-03-29 20:26:38 -0700
commit1fa6a3e3354bd98707303476b5a54147ccdd533a (patch)
treec3804cca7a9ec266de780019a95180e20387c92f /src/libstore/filetransfer.cc
parent99f159c5367e423097fe4347375bdfc4f76d2c0c (diff)
Fix various clang-tidy lints
* some things that can throw are marked noexcept yet the linter seems to think not. Maybe they can't throw in practice. I would rather not have the UB possibility in pretty obvious cold paths. * various default-case-missing complaints * a fair pile of casts from integer to character, which are in fact deliberate. * an instance of <https://clang.llvm.org/extra/clang-tidy/checks/bugprone/move-forwarding-reference.html> * bugprone-not-null-terminated-result on handing a string to curl in chunks of bytes. our usage is fine. * reassigning a unique_ptr by CRIMES instead of using release(), then using release() and ignoring the result. wild. let's use release() for its intended purpose. Change-Id: Ic3e7affef12383576213a8a7c8145c27e662513d
Diffstat (limited to 'src/libstore/filetransfer.cc')
-rw-r--r--src/libstore/filetransfer.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libstore/filetransfer.cc b/src/libstore/filetransfer.cc
index b843a95f9..ef2480863 100644
--- a/src/libstore/filetransfer.cc
+++ b/src/libstore/filetransfer.cc
@@ -142,7 +142,7 @@ struct curlFileTransfer : public FileTransfer
template<class T>
void fail(T && e)
{
- failEx(std::make_exception_ptr(std::move(e)));
+ failEx(std::make_exception_ptr(std::forward<T>(e)));
}
LambdaSink finalSink;
@@ -270,6 +270,9 @@ struct curlFileTransfer : public FileTransfer
return 0;
auto count = std::min(size * nitems, request.data->length() - readOffset);
assert(count);
+ // Lint: this is turning a string into a byte array to hand to
+ // curl, which is fine.
+ // NOLINTNEXTLINE(bugprone-not-null-terminated-result)
memcpy(buffer, request.data->data() + readOffset, count);
readOffset += count;
return count;