afh_recv: Check return value of afh_get_chunk().
authorAndre Noll <maan@tuebingen.mpg.de>
Fri, 21 Apr 2017 18:57:38 +0000 (20:57 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Fri, 21 Apr 2017 23:31:35 +0000 (01:31 +0200)
Starting with commit b6b571e6c (afh: Dynamic chunks) the function
returns an int value and may fail. Although we store the return value
in a variable, the value of the variable is never read, causing the
clang static analyzer to complain (rightfully).

This patch modifies afh_recv_post_select() to fail if afh_get_chunk()
returns negative.

afh_recv.c

index 08f0d1e7c4c615ac96b8ddc27a39af41f5fa1625..1eac9a5b38c212ae845ce823574ac3d6718cdba6 100644 (file)
@@ -232,6 +232,8 @@ static int afh_recv_post_select(__a_unused struct sched *s, void *context)
                pard->audio_format_num, pard->map,
                pard->map_size, &start, &size,
                &pard->afh_context);
+       if (ret < 0)
+               goto out;
        PARA_DEBUG_LOG("adding chunk %u\n", pard->current_chunk);
        btr_add_output_dont_free(start, size, btrn);
        if (pard->current_chunk >= pard->last_chunk) {