diff -pruN 1.5.20+ds-2/CMakeLists.txt 1.5.24+ds-1/CMakeLists.txt
--- 1.5.20+ds-2/CMakeLists.txt	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/CMakeLists.txt	2025-06-20 08:08:04.000000000 +0000
@@ -14,7 +14,7 @@ list(APPEND CMAKE_MODULE_PATH ${PROJECT_
 
 set(TRANTOR_MAJOR_VERSION 1)
 set(TRANTOR_MINOR_VERSION 5)
-set(TRANTOR_PATCH_VERSION 20)
+set(TRANTOR_PATCH_VERSION 24)
 set(TRANTOR_VERSION ${TRANTOR_MAJOR_VERSION}.${TRANTOR_MINOR_VERSION}.${TRANTOR_PATCH_VERSION})
 
 include(GNUInstallDirs)
diff -pruN 1.5.20+ds-2/ChangeLog.md 1.5.24+ds-1/ChangeLog.md
--- 1.5.20+ds-2/ChangeLog.md	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/ChangeLog.md	2025-06-20 08:08:04.000000000 +0000
@@ -4,6 +4,45 @@ All notable changes to this project will
 
 ## [Unreleased]
 
+## [1.5.24] - 2025-06-20
+
+### Changed
+
+- refactor: replace atomic counter with plain int in RunInLoopTest2.
+
+### Fixed
+- Fix compile errors in some case.
+
+- Fix a bug when sending streams.
+
+## [1.5.23] - 2025-02-20
+
+### Changed
+
+- Replace ipv4 inet_ntop with a handrolled function.
+
+### Fixed
+
+- Fix some typos.
+
+## [1.5.22] - 2024-10-27
+
+### Fixed
+
+- Fix a bug in the dtor of EventLoop.
+
+- Free leaked memory in ares resolver.
+
+## [1.5.21] - 2024-09-10
+
+### API changes list
+
+- Add a method to reload the SSL certificate and private key on the fly.
+
+### Changed
+
+- Keep log level consistency.
+
 ## [1.5.20] - 2024-07-20
 
 ### Changed
@@ -668,7 +707,15 @@ All notable changes to this project will
 
 ## [1.0.0-rc1] - 2019-06-11
 
-[Unreleased]: https://github.com/an-tao/trantor/compare/v1.5.20...HEAD
+[Unreleased]: https://github.com/an-tao/trantor/compare/v1.5.24...HEAD
+
+[1.5.24]: https://github.com/an-tao/trantor/compare/v1.5.23...v1.5.24
+
+[1.5.23]: https://github.com/an-tao/trantor/compare/v1.5.22...v1.5.23
+
+[1.5.22]: https://github.com/an-tao/trantor/compare/v1.5.21...v1.5.22
+
+[1.5.21]: https://github.com/an-tao/trantor/compare/v1.5.20...v1.5.21
 
 [1.5.20]: https://github.com/an-tao/trantor/compare/v1.5.19...v1.5.20
 
diff -pruN 1.5.20+ds-2/debian/changelog 1.5.24+ds-1/debian/changelog
--- 1.5.20+ds-2/debian/changelog	2024-08-27 15:54:13.000000000 +0000
+++ 1.5.24+ds-1/debian/changelog	2025-09-21 18:16:38.000000000 +0000
@@ -1,3 +1,12 @@
+trantor (1.5.24+ds-1) unstable; urgency=medium
+
+  * New upstream release 1.5.24+ds
+  * d/copyright bumped
+  * d/control:
+    - Bump Standards-Version to 4.7.2
+
+ -- Pierre-Elliott Bécue <peb@debian.org>  Sun, 21 Sep 2025 20:16:38 +0200
+
 trantor (1.5.20+ds-2) unstable; urgency=medium
 
   * Update hard-coded dependencies for libtrantor1 (Closes: #1079626)
diff -pruN 1.5.20+ds-2/debian/control 1.5.24+ds-1/debian/control
--- 1.5.20+ds-2/debian/control	2024-08-27 15:54:11.000000000 +0000
+++ 1.5.24+ds-1/debian/control	2025-09-21 18:16:36.000000000 +0000
@@ -3,7 +3,7 @@ Maintainer: Pierre-Elliott Bécue <peb@d
 Section: web
 Priority: optional
 Build-Depends: cmake, debhelper-compat (=13), dh-cmake, dh-cmake-compat (=1)
-Standards-Version: 4.7.0
+Standards-Version: 4.7.2
 Vcs-Browser: https://salsa.debian.org/debian/trantor
 Vcs-Git: https://salsa.debian.org/debian/trantor.git
 Homepage: https://github.com/an-tao/trantor
diff -pruN 1.5.20+ds-2/debian/copyright 1.5.24+ds-1/debian/copyright
--- 1.5.20+ds-2/debian/copyright	2024-08-23 13:59:51.000000000 +0000
+++ 1.5.24+ds-1/debian/copyright	2025-09-21 17:52:09.000000000 +0000
@@ -5,7 +5,7 @@ Upstream-Name: trantor
 Files-Excluded: third_party
 
 Files: *
-Copyright: © 2017 - 2024 An Tao <antao2002@gmail.com>
+Copyright: © 2017 - 2025 An Tao <antao2002@gmail.com>
 License: BSD-3-Clause
 
 Files: trantor/net/EventLoop.cc trantor/net/EventLoop.h trantor/net/InetAddress.cc
@@ -16,7 +16,7 @@ License: BSD-3-Clause
 
 Files: debian/*
 Copyright: © 2023 Pierre-Elliott Bécue @ Gandi SAS <pierre-elliott.becue@gandi.net>
-           © 2024 Pierre-Elliott Bécue <peb@debian.org>
+           © 2024-2025 Pierre-Elliott Bécue <peb@debian.org>
 License: BSD-3-Clause
 
 License: BSD-3-Clause
diff -pruN 1.5.20+ds-2/trantor/net/EventLoop.cc 1.5.24+ds-1/trantor/net/EventLoop.cc
--- 1.5.20+ds-2/trantor/net/EventLoop.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/EventLoop.cc	2025-06-20 08:08:04.000000000 +0000
@@ -45,6 +45,7 @@ using ssize_t = long long;
 #include <algorithm>
 #include <signal.h>
 #include <fcntl.h>
+#include <exception>
 
 namespace trantor
 {
@@ -138,7 +139,6 @@ EventLoop::~EventLoop()
 #endif
     }
 
-    t_loopInThisThread = nullptr;
 #ifdef __linux__
     close(wakeupFd_);
 #elif defined _WIN32
@@ -256,7 +256,7 @@ void EventLoop::loop()
     {
         f();
     }
-
+    t_loopInThisThread = nullptr;
     // Throw the exception from the end
     if (loopException)
     {
diff -pruN 1.5.20+ds-2/trantor/net/EventLoop.h 1.5.24+ds-1/trantor/net/EventLoop.h
--- 1.5.20+ds-2/trantor/net/EventLoop.h	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/EventLoop.h	2025-06-20 08:08:04.000000000 +0000
@@ -45,7 +45,7 @@ enum
 
 /**
  * @brief As the name implies, this class represents an event loop that runs in
- * a perticular thread. The event loop can handle network I/O events and timers
+ * a particular thread. The event loop can handle network I/O events and timers
  * in asynchronous mode.
  * @note An event loop object always belongs to a separate thread, and there is
  * one event loop object at most in a thread. We can call an event loop object
diff -pruN 1.5.20+ds-2/trantor/net/InetAddress.cc 1.5.24+ds-1/trantor/net/InetAddress.cc
--- 1.5.20+ds-2/trantor/net/InetAddress.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/InetAddress.cc	2025-06-20 08:08:04.000000000 +0000
@@ -196,16 +196,40 @@ bool InetAddress::isLoopbackIp() const
     return false;
 }
 
+static void byteToChars(std::string::iterator &dst, unsigned char byte)
+{
+    *dst = byte / 100 + '0';
+    dst += byte >= 100;
+    *dst = byte % 100 / 10 + '0';
+    dst += byte >= 10;
+    *dst = byte % 10 + '0';
+    ++dst;
+}
+
+static std::string iptos(unsigned inet_addr)
+{
+    // Initialize with a static buffer to force the constructor of string to get
+    // fully inlined
+    constexpr char stringInitBuffer[15]{};
+    std::string out(stringInitBuffer, 15);
+    std::string::iterator dst = out.begin();
+    byteToChars(dst, inet_addr >> 0 & 0xff);
+    *(dst++) = '.';
+    byteToChars(dst, inet_addr >> 8 & 0xff);
+    *(dst++) = '.';
+    byteToChars(dst, inet_addr >> 16 & 0xff);
+    *(dst++) = '.';
+    byteToChars(dst, inet_addr >> 24 & 0xff);
+    out.erase(dst, out.end());
+    return out;
+}
+
 std::string InetAddress::toIp() const
 {
-    char buf[64];
+    char buf[INET6_ADDRSTRLEN]{};
     if (addr_.sin_family == AF_INET)
     {
-#if defined _WIN32
-        ::inet_ntop(AF_INET, (PVOID)&addr_.sin_addr, buf, sizeof(buf));
-#else
-        ::inet_ntop(AF_INET, &addr_.sin_addr, buf, sizeof(buf));
-#endif
+        return iptos(addr_.sin_addr.s_addr);
     }
     else if (addr_.sin_family == AF_INET6)
     {
diff -pruN 1.5.20+ds-2/trantor/net/InetAddress.h 1.5.24+ds-1/trantor/net/InetAddress.h
--- 1.5.20+ds-2/trantor/net/InetAddress.h	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/InetAddress.h	2025-06-20 08:08:04.000000000 +0000
@@ -219,7 +219,7 @@ class TRANTOR_EXPORT InetAddress
     }
 
     /**
-     * @brief Return true if the address is not initalized.
+     * @brief Return true if the address is not initialized.
      */
     inline bool isUnspecified() const
     {
diff -pruN 1.5.20+ds-2/trantor/net/TcpServer.cc 1.5.24+ds-1/trantor/net/TcpServer.cc
--- 1.5.20+ds-2/trantor/net/TcpServer.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/TcpServer.cc	2025-06-20 08:08:04.000000000 +0000
@@ -234,3 +234,23 @@ void TcpServer::enableSSL(
         .setValidate(caPath.empty() ? false : true);
     sslContextPtr_ = newSSLContext(*policyPtr_, true);
 }
+
+void TcpServer::reloadSSL()
+{
+    if (loop_->isInLoopThread())
+    {
+        if (policyPtr_)
+        {
+            sslContextPtr_ = newSSLContext(*policyPtr_, true);
+        }
+    }
+    else
+    {
+        loop_->queueInLoop([this]() {
+            if (policyPtr_)
+            {
+                sslContextPtr_ = newSSLContext(*policyPtr_, true);
+            }
+        });
+    }
+}
\ No newline at end of file
diff -pruN 1.5.20+ds-2/trantor/net/TcpServer.h 1.5.24+ds-1/trantor/net/TcpServer.h
--- 1.5.20+ds-2/trantor/net/TcpServer.h	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/TcpServer.h	2025-06-20 08:08:04.000000000 +0000
@@ -260,6 +260,14 @@ class TRANTOR_EXPORT TcpServer : NonCopy
         sslContextPtr_ = newSSLContext(*policyPtr_, true);
     }
 
+    /**
+     * @brief Reload the SSL context.
+     * @note Call this function when the certificate or private key is updated.
+     * The server will reload the SSL context and use the new certificate and
+     * private key. new connections will use the new SSL context.
+     */
+    void reloadSSL();
+
   private:
     void handleCloseInLoop(const TcpConnectionPtr &connectionPtr);
     void newConnection(int fd, const InetAddress &peer);
diff -pruN 1.5.20+ds-2/trantor/net/inner/Acceptor.cc 1.5.24+ds-1/trantor/net/inner/Acceptor.cc
--- 1.5.20+ds-2/trantor/net/inner/Acceptor.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/Acceptor.cc	2025-06-20 08:08:04.000000000 +0000
@@ -83,7 +83,7 @@ void Acceptor::readCallback()
     }
     else
     {
-        LOG_SYSERR << "Accpetor::readCallback";
+        LOG_SYSERR << "Acceptor::readCallback";
 // Read the section named "The special problem of
 // accept()ing when you can't" in libev's doc.
 // By Marc Lehmann, author of libev.
diff -pruN 1.5.20+ds-2/trantor/net/inner/AresResolver.cc 1.5.24+ds-1/trantor/net/inner/AresResolver.cc
--- 1.5.20+ds-2/trantor/net/inner/AresResolver.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/AresResolver.cc	2025-06-20 08:08:04.000000000 +0000
@@ -202,6 +202,7 @@ void AresResolver::onQueryResult(int sta
                 // TODO: Handle unknown family?
             }
         }
+        ares_freeaddrinfo(result);
     }
     if (inets_ptr->empty())
     {
diff -pruN 1.5.20+ds-2/trantor/net/inner/TcpConnectionImpl.cc 1.5.24+ds-1/trantor/net/inner/TcpConnectionImpl.cc
--- 1.5.20+ds-2/trantor/net/inner/TcpConnectionImpl.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/TcpConnectionImpl.cc	2025-06-20 08:08:04.000000000 +0000
@@ -387,7 +387,7 @@ void TcpConnectionImpl::sendInLoop(const
     loop_->assertInLoopThread();
     if (status_ != ConnStatus::Connected)
     {
-        LOG_WARN << "Connection is not connected,give up sending";
+        LOG_DEBUG << "Connection is not connected,give up sending";
         return;
     }
     ssize_t sendLen = 0;
@@ -634,6 +634,10 @@ void TcpConnectionImpl::sendStream(
                 writeBufferList_.push_back(std::move(node));
             return;
         }
+        else
+        {
+            writeBufferList_.push_back(std::move(node));
+        }
     }
     else
     {
diff -pruN 1.5.20+ds-2/trantor/net/inner/poller/EpollPoller.cc 1.5.24+ds-1/trantor/net/inner/poller/EpollPoller.cc
--- 1.5.20+ds-2/trantor/net/inner/poller/EpollPoller.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/poller/EpollPoller.cc	2025-06-20 08:08:04.000000000 +0000
@@ -53,7 +53,7 @@ const int kDeleted = 2;
 EpollPoller::EpollPoller(EventLoop *loop)
     : Poller(loop),
 #ifdef _WIN32
-      // wepoll does not suppor flags
+      // wepoll does not support flags
       epollfd_(::epoll_create1(0)),
 #else
       epollfd_(::epoll_create1(EPOLL_CLOEXEC)),
@@ -85,7 +85,7 @@ void EpollPoller::poll(int timeoutMs, Ch
     // Timestamp now(Timestamp::now());
     if (numEvents > 0)
     {
-        // LOG_TRACE << numEvents << " events happended";
+        // LOG_TRACE << numEvents << " events happened";
         fillActiveChannels(numEvents, activeChannels);
         if (static_cast<size_t>(numEvents) == events_.size())
         {
@@ -94,7 +94,7 @@ void EpollPoller::poll(int timeoutMs, Ch
     }
     else if (numEvents == 0)
     {
-        // std::cout << "nothing happended" << std::endl;
+        // std::cout << "nothing happened" << std::endl;
     }
     else
     {
diff -pruN 1.5.20+ds-2/trantor/net/inner/poller/KQueue.cc 1.5.24+ds-1/trantor/net/inner/poller/KQueue.cc
--- 1.5.20+ds-2/trantor/net/inner/poller/KQueue.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/poller/KQueue.cc	2025-06-20 08:08:04.000000000 +0000
@@ -59,7 +59,7 @@ void KQueue::poll(int timeoutMs, Channel
     // Timestamp now(Timestamp::now());
     if (numEvents > 0)
     {
-        // LOG_TRACE << numEvents << " events happended";
+        // LOG_TRACE << numEvents << " events happened";
         fillActiveChannels(numEvents, activeChannels);
         if (static_cast<size_t>(numEvents) == events_.size())
         {
@@ -68,7 +68,7 @@ void KQueue::poll(int timeoutMs, Channel
     }
     else if (numEvents == 0)
     {
-        // std::cout << "nothing happended" << std::endl;
+        // std::cout << "nothing happened" << std::endl;
     }
     else
     {
diff -pruN 1.5.20+ds-2/trantor/net/inner/poller/PollPoller.cc 1.5.24+ds-1/trantor/net/inner/poller/PollPoller.cc
--- 1.5.20+ds-2/trantor/net/inner/poller/PollPoller.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/poller/PollPoller.cc	2025-06-20 08:08:04.000000000 +0000
@@ -30,7 +30,7 @@ PollPoller::PollPoller(EventLoop* loop)
 {
     std::call_once(warning_flag, []() {
         LOG_WARN << "Creating a PollPoller. This poller is slow and should "
-                    "only be used when no other pollers are avaliable";
+                    "only be used when no other pollers are available";
     });
 }
 
diff -pruN 1.5.20+ds-2/trantor/net/inner/tlsprovider/BotanTLSProvider.cc 1.5.24+ds-1/trantor/net/inner/tlsprovider/BotanTLSProvider.cc
--- 1.5.20+ds-2/trantor/net/inner/tlsprovider/BotanTLSProvider.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/tlsprovider/BotanTLSProvider.cc	2025-06-20 08:08:04.000000000 +0000
@@ -487,6 +487,6 @@ SSLContextPtr trantor::newSSLContext(con
 
     if (policy.getUseOldTLS())
         LOG_WARN << "SSLPloicy have set useOldTLS to true. BUt Botan does not "
-                    "support TLS/SSL below TLS 1.2. Ignoreing this option.";
+                    "support TLS/SSL below TLS 1.2. Ignoring this option.";
     return ctx;
 }
diff -pruN 1.5.20+ds-2/trantor/net/inner/tlsprovider/OpenSSLProvider.cc 1.5.24+ds-1/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
--- 1.5.20+ds-2/trantor/net/inner/tlsprovider/OpenSSLProvider.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/net/inner/tlsprovider/OpenSSLProvider.cc	2025-06-20 08:08:04.000000000 +0000
@@ -133,7 +133,7 @@ static bool validatePeerCertificate(SSL
 {
     assert(ssl != nullptr);
     assert(cert != nullptr);
-    LOG_TRACE << "Validating peer cerificate";
+    LOG_TRACE << "Validating peer certificate";
 
     if (isServer)
     {
diff -pruN 1.5.20+ds-2/trantor/tests/RunInLoopTest2.cc 1.5.24+ds-1/trantor/tests/RunInLoopTest2.cc
--- 1.5.20+ds-2/trantor/tests/RunInLoopTest2.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/tests/RunInLoopTest2.cc	2025-06-20 08:08:04.000000000 +0000
@@ -8,8 +8,8 @@
 
 int main()
 {
-    std::atomic<uint64_t> counter;
-    counter = 0;
+    // Local variable to be used within the loopThread
+    uint64_t counter = 0;
     std::promise<int> pro;
     auto ft = pro.get_future();
     trantor::EventLoopThread loopThread;
@@ -20,7 +20,7 @@ int main()
         {
             loop->queueInLoop([&counter, &pro]() {
                 ++counter;
-                if (counter.load() == 110000)
+                if (counter == 110000)
                     pro.set_value(1);
             });
         }
@@ -32,7 +32,7 @@ int main()
             {
                 loop->runInLoop([&counter, &pro]() {
                     ++counter;
-                    if (counter.load() == 110000)
+                    if (counter == 110000)
                         pro.set_value(1);
                 });
             }
@@ -40,5 +40,5 @@ int main()
     }
     loopThread.run();
     ft.get();
-    std::cout << "counter=" << counter.load() << std::endl;
+    std::cout << "counter=" << counter << std::endl;
 }
diff -pruN 1.5.20+ds-2/trantor/utils/AsyncFileLogger.cc 1.5.24+ds-1/trantor/utils/AsyncFileLogger.cc
--- 1.5.20+ds-2/trantor/utils/AsyncFileLogger.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/utils/AsyncFileLogger.cc	2025-06-20 08:08:04.000000000 +0000
@@ -64,7 +64,7 @@ AsyncFileLogger::~AsyncFileLogger()
         }
         while (!writeBuffers_.empty())
         {
-            StringPtr tmpPtr = (StringPtr &&) writeBuffers_.front();
+            StringPtr tmpPtr = (StringPtr &&)writeBuffers_.front();
             writeBuffers_.pop();
             writeLogToFile(tmpPtr);
         }
@@ -162,7 +162,7 @@ void AsyncFileLogger::logThreadFunc()
 
         while (!tmpBuffers_.empty())
         {
-            StringPtr tmpPtr = (StringPtr &&) tmpBuffers_.front();
+            StringPtr tmpPtr = (StringPtr &&)tmpBuffers_.front();
             tmpBuffers_.pop();
             writeLogToFile(tmpPtr);
             tmpPtr->clear();
diff -pruN 1.5.20+ds-2/trantor/utils/Logger.h 1.5.24+ds-1/trantor/utils/Logger.h
--- 1.5.20+ds-2/trantor/utils/Logger.h	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/utils/Logger.h	2025-06-20 08:08:04.000000000 +0000
@@ -288,8 +288,8 @@ class TRANTOR_EXPORT Logger : public Non
 #endif
         return logLevel;
     }
-    static std::function<void(const char *msg, const uint64_t len)>
-        &outputFunc_()
+    static std::function<void(const char *msg, const uint64_t len)> &
+    outputFunc_()
     {
         static std::function<void(const char *msg, const uint64_t len)>
             outputFunc = Logger::defaultOutputFunction;
@@ -300,8 +300,8 @@ class TRANTOR_EXPORT Logger : public Non
         static std::function<void()> flushFunc = Logger::defaultFlushFunction;
         return flushFunc;
     }
-    static std::function<void(const char *msg, const uint64_t len)>
-        &outputFunc_(size_t index)
+    static std::function<void(const char *msg, const uint64_t len)> &
+    outputFunc_(size_t index)
     {
         static std::vector<
             std::function<void(const char *msg, const uint64_t len)>>
diff -pruN 1.5.20+ds-2/trantor/utils/crypto/sha3.cc 1.5.24+ds-1/trantor/utils/crypto/sha3.cc
--- 1.5.20+ds-2/trantor/utils/crypto/sha3.cc	2024-07-20 15:25:11.000000000 +0000
+++ 1.5.24+ds-1/trantor/utils/crypto/sha3.cc	2025-06-20 08:08:04.000000000 +0000
@@ -33,7 +33,7 @@ void trantor_sha3_keccakf(uint64_t st[25
 #if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__
     uint8_t *v;
 
-    // endianess conversion. this is redundant on little-endian targets
+    // endianness conversion. this is redundant on little-endian targets
     for (i = 0; i < 25; i++)
     {
         v = (uint8_t *)&st[i];
@@ -82,7 +82,7 @@ void trantor_sha3_keccakf(uint64_t st[25
     }
 
 #if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__
-    // endianess conversion. this is redundant on little-endian targets
+    // endianness conversion. this is redundant on little-endian targets
     for (i = 0; i < 25; i++)
     {
         v = (uint8_t *)&st[i];
@@ -193,4 +193,4 @@ void trantor_shake_out(sha3_ctx_t *c, vo
         ((uint8_t *)out)[i] = c->st.b[j++];
     }
     c->pt = j;
-}
\ No newline at end of file
+}
