]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
manually chain / unchain on exit
authorAlan T. DeKok <aland@freeradius.org>
Tue, 20 Feb 2024 12:45:30 +0000 (07:45 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 20 Feb 2024 15:15:26 +0000 (10:15 -0500)
src/lib/bio/base.c

index 48df6d65998216ca2098a6d6a13276ccc2c605e2..dac95ef8dda3d74ff01c85c7eb63d14e0f335c1c 100644 (file)
@@ -123,13 +123,15 @@ int fr_bio_free(fr_bio_t *bio)
         *      the read/write functions to do nothing.
         */
        if (next) {
-               fr_bio_unchain(bio);
+               next->entry.prev = NULL;
                if (fr_bio_free(next) < 0) {
-                       fr_bio_chain(bio, next);
+                       next->entry.prev = &bio->entry;
                        bio->read = fr_bio_eof_read;
                        bio->write = fr_bio_null_write;
                        return -1;
                }
+
+               bio->entry.next = NULL;
        }
 
        /*