diff --git a/ndn-cxx/detail/packet-base.cpp b/ndn-cxx/detail/packet-base.cpp
index 8ba7362..7d9badb 100644
--- a/ndn-cxx/detail/packet-base.cpp
+++ b/ndn-cxx/detail/packet-base.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2025 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -28,21 +28,14 @@
 PacketBase::getCongestionMark() const
 {
   auto mark = this->getTag<lp::CongestionMarkTag>();
-
-  if (mark == nullptr) {
-    return 0;
-  }
-  else {
-    return *mark;
-  }
+  return mark ? *mark : 0;
 }
 
 void
 PacketBase::setCongestionMark(uint64_t mark)
 {
   if (mark != 0) {
-    auto tag = make_shared<lp::CongestionMarkTag>(mark);
-    this->setTag(std::move(tag));
+    this->setTag(make_shared<lp::CongestionMarkTag>(mark));
   }
   else {
     this->removeTag<lp::CongestionMarkTag>();
diff --git a/ndn-cxx/detail/packet-base.hpp b/ndn-cxx/detail/packet-base.hpp
index 9924e54..1ac4a3f 100644
--- a/ndn-cxx/detail/packet-base.hpp
+++ b/ndn-cxx/detail/packet-base.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2022 Regents of the University of California.
+ * Copyright (c) 2013-2025 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -24,19 +24,24 @@
 
 #include "ndn-cxx/detail/tag-host.hpp"
 
+#include <cstdint>
+
 namespace ndn {
 
-/** \brief Base class to allow simple management of packet tags.
+/**
+ * \brief Base class to allow simple management of common packet tags.
  */
 class PacketBase : public TagHost
 {
 public:
-  /** \brief Get the value of the CongestionMark tag.
+  /**
+   * \brief Get the value of the CongestionMark tag.
    */
   uint64_t
   getCongestionMark() const;
 
-  /** \brief Set the CongestionMark tag to the specified value.
+  /**
+   * \brief Set the CongestionMark tag to the specified value.
    */
   void
   setCongestionMark(uint64_t mark);
