oggdec: Abort on input errors.
[paraslash.git] / oggdec_filter.c
index 8d1abb9..b158a5e 100644 (file)
@@ -125,7 +125,9 @@ static ssize_t ogg_convert(char *inbuffer, size_t len, struct filter_node *fn)
 
        if (!pod->vf) {
                int ib = 1024 * conf->initial_buffer_arg; /* initial buffer */
-               if (len <ib && !*fn->fc->input_error) {
+               if (*fn->fc->input_error < 0)
+                       return *fn->fc->input_error;
+               if (len < ib) {
                        PARA_DEBUG_LOG("initial input buffer %zd/%d, "
                                "waiting for more data\n", len, ib);
                        return 0;