frame.c: Make ast_frame_free()/ast_frfree() NULL tolerant
authorRichard Mudgett <rmudgett@digium.com>
Sat, 11 Nov 2017 15:42:01 +0000 (09:42 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Sat, 11 Nov 2017 19:04:55 +0000 (14:04 -0500)
Change-Id: Ic49d821ef88ada38a31bdd835b9531443c55d793

main/frame.c

index c24cc8f..8a151ef 100644 (file)
@@ -163,18 +163,16 @@ void ast_frame_free(struct ast_frame *frame, int cache)
 {
        struct ast_frame *next;
 
-       for (next = AST_LIST_NEXT(frame, frame_list);
-            frame;
-            frame = next, next = frame ? AST_LIST_NEXT(frame, frame_list) : NULL) {
+       while (frame) {
+               next = AST_LIST_NEXT(frame, frame_list);
                __frame_free(frame, cache);
+               frame = next;
        }
 }
 
 void ast_frame_dtor(struct ast_frame *f)
 {
-       if (f) {
-               ast_frfree(f);
-       }
+       ast_frfree(f);
 }
 
 /*!