]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
ptrs may be NULL
authorAlan T. DeKok <aland@freeradius.org>
Thu, 7 Aug 2025 11:03:04 +0000 (07:03 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 7 Aug 2025 11:03:04 +0000 (07:03 -0400)
src/lib/bio/bio_priv.h

index 6658ee508400fe43a05ac1bfd509d79d276d9510..8276ba14b71d3b9c6c2a42a1bb2fe75806b1b9d9 100644 (file)
@@ -99,9 +99,15 @@ static inline void CC_HINT(nonnull) fr_bio_chain(fr_bio_t *first, fr_bio_t *seco
  */
 static inline void CC_HINT(nonnull) fr_bio_unchain(fr_bio_t *bio)
 {
-       fr_assert((fr_bio_prev(bio) != NULL) || (fr_bio_next(bio) != NULL));
+       fr_bio_t *prev = fr_bio_prev(bio);
+       fr_bio_t *next = fr_bio_next(bio);
+
+       fr_assert(prev || next);
+
+       if (prev) prev->entry.next = &next->entry;
+
+       if (next) next->entry.prev = &prev->entry;
 
-       fr_dlist_entry_unlink(&bio->entry);
        bio->entry.prev = bio->entry.next = NULL;
 }