aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2022-09-02 11:17:49 +0000
committerMauro Sardara <msardara@cisco.com>2022-09-02 11:17:59 +0000
commit00a6f92b97a0456259163ade2085defdebeb3f84 (patch)
tree677c65d106565703891b21b82a01f4fb69995bce
parent940228d74920fbfd6707e1324711164360cca52d (diff)
fix: correct bugs in interest processing pipeline
ResHHICN-748 Change-Id: I8e55932fda2c77891f7b2aaf7fa5d7087f1aa2bf Signed-off-by: Mauro Sardara <msardara@cisco.com>
-rw-r--r--hicn-light/src/hicn/core/forwarder.c2
-rw-r--r--libtransport/src/core/portal.h7
2 files changed, 6 insertions, 3 deletions
diff --git a/hicn-light/src/hicn/core/forwarder.c b/hicn-light/src/hicn/core/forwarder.c
index 4fe1b6c63..72bb22118 100644
--- a/hicn-light/src/hicn/core/forwarder.c
+++ b/hicn-light/src/hicn/core/forwarder.c
@@ -1053,7 +1053,7 @@ static ssize_t forwarder_process_interest(forwarder_t *forwarder,
assert(msgbuf_get_type(msgbuf) == HICN_PACKET_TYPE_INTEREST);
u32 n_suffixes = 0;
- interest_manifest_header_t *int_manifest_header;
+ interest_manifest_header_t *int_manifest_header = NULL;
size_t payload_size;
int ret = _forwarder_get_interest_manifest(msgbuf, &int_manifest_header,
&payload_size);
diff --git a/libtransport/src/core/portal.h b/libtransport/src/core/portal.h
index d4fbb3442..7a6ab9d0e 100644
--- a/libtransport/src/core/portal.h
+++ b/libtransport/src/core/portal.h
@@ -319,8 +319,11 @@ class Portal : public ::utils::NonCopyable,
uint32_t initial_hash = interest->getName().getHash32(false);
auto hash = initial_hash + interest->getName().getSuffix();
uint32_t seq = interest->getName().getSuffix();
- const uint32_t *suffix = interest->firstSuffix() + 1;
- auto n_suffixes = interest->numberOfSuffixes() - 1;
+ const uint32_t *suffix = interest->firstSuffix() != nullptr
+ ? interest->firstSuffix() + 1
+ : nullptr;
+ auto n_suffixes =
+ interest->numberOfSuffixes() > 0 ? interest->numberOfSuffixes() - 1 : 0;
uint32_t counter = 0;
// Set timers
do {