libavcodec/hq_hqa.c:154: error: Uninitialized Value
  The value read from slice_off[_] was never initialized.

libavcodec/hq_hqa.c:154:13: 
152.         if (slice_off[slice] < (profile->num_slices + 1) * 3 ||
153.             slice_off[slice] >= slice_off[slice + 1] ||
154.             slice_off[slice + 1] > data_size) {
                 ^
155.             av_log(ctx->avctx, AV_LOG_ERROR,
156.                    "Invalid slice size %zu.\n", data_size);

static int hq_decode_frame(HQContext *ctx, AVFrame *pic,
                           int prof_num, size_t data_size)
{
    const HQProfile *profile;
    GetBitContext gb;
    const uint8_t *perm, *src = ctx->gbc.buffer;
    uint32_t slice_off[21];
    int slice, start_off, next_off, i, ret;
    if (prof_num >= NUM_HQ_PROFILES) {
        profile = &ff_hq_profile[0];
        avpriv_request_sample(ctx->avctx, "HQ Profile %d", prof_num);
    } else {
        profile = &ff_hq_profile[prof_num];
        av_log(ctx->avctx, AV_LOG_VERBOSE, "HQ Profile %d\n", prof_num);
    }
    ctx->avctx->coded_width         = FFALIGN(profile->width,  16);
    ctx->avctx->coded_height        = FFALIGN(profile->height, 16);
    ctx->avctx->width               = profile->width;
    ctx->avctx->height              = profile->height;
    ctx->avctx->bits_per_raw_sample = 8;
    ctx->avctx->pix_fmt             = AV_PIX_FMT_YUV422P;
    ret = ff_get_buffer(ctx->avctx, pic, 0);
    if (ret < 0) {
        av_log(ctx->avctx, AV_LOG_ERROR, "Could not allocate buffer.\n");
        return ret;
    }
    for (i = 0; i < profile->num_slices + 1; i++)
        slice_off[i] = bytestream2_get_be24(&ctx->gbc) - 4;
    next_off = 0;
    for (slice = 0; slice < profile->num_slices; slice++) {
        start_off = next_off;
        next_off  = profile->tab_h * (slice + 1) / profile->num_slices;
        perm = profile->perm_tab + start_off * profile->tab_w * 2;
        if (slice_off[slice] < (profile->num_slices + 1) * 3 ||
            slice_off[slice] >= slice_off[slice + 1] ||
            slice_off[slice + 1] > data_size) {
            av_log(ctx->avctx, AV_LOG_ERROR,
                   "Invalid slice size %zu.\n", data_size);
            break;
        }
        init_get_bits(&gb, src + slice_off[slice],
                      (slice_off[slice + 1] - slice_off[slice]) * 8);
        for (i = 0; i < (next_off - start_off) * profile->tab_w; i++) {
            ret = hq_decode_mb(ctx, pic, &gb, perm[0] * 16, perm[1] * 16);
            if (ret < 0) {
                av_log(ctx->avctx, AV_LOG_ERROR,
                       "Error decoding macroblock %d at slice %d.\n", i, slice);
                return ret;
            }
            perm += 2;
        }
    }
    return 0;
}
['static int hq_decode_frame(HQContext *ctx, AVFrame *pic,\n                           int prof_num, size_t data_size)\n{\n    const HQProfile *profile;\n    GetBitContext gb;\n    const uint8_t *perm, *src = ctx->gbc.buffer;\n    uint32_t slice_off[21];\n    int slice, start_off, next_off, i, ret;\n    if (prof_num >= NUM_HQ_PROFILES) {\n        profile = &ff_hq_profile[0];\n        avpriv_request_sample(ctx->avctx, "HQ Profile %d", prof_num);\n    } else {\n        profile = &ff_hq_profile[prof_num];\n        av_log(ctx->avctx, AV_LOG_VERBOSE, "HQ Profile %d\\n", prof_num);\n    }\n    ctx->avctx->coded_width         = FFALIGN(profile->width,  16);\n    ctx->avctx->coded_height        = FFALIGN(profile->height, 16);\n    ctx->avctx->width               = profile->width;\n    ctx->avctx->height              = profile->height;\n    ctx->avctx->bits_per_raw_sample = 8;\n    ctx->avctx->pix_fmt             = AV_PIX_FMT_YUV422P;\n    ret = ff_get_buffer(ctx->avctx, pic, 0);\n    if (ret < 0) {\n        av_log(ctx->avctx, AV_LOG_ERROR, "Could not allocate buffer.\\n");\n        return ret;\n    }\n    for (i = 0; i < profile->num_slices + 1; i++)\n        slice_off[i] = bytestream2_get_be24(&ctx->gbc) - 4;\n    next_off = 0;\n    for (slice = 0; slice < profile->num_slices; slice++) {\n        start_off = next_off;\n        next_off  = profile->tab_h * (slice + 1) / profile->num_slices;\n        perm = profile->perm_tab + start_off * profile->tab_w * 2;\n        if (slice_off[slice] < (profile->num_slices + 1) * 3 ||\n            slice_off[slice] >= slice_off[slice + 1] ||\n            slice_off[slice + 1] > data_size) {\n            av_log(ctx->avctx, AV_LOG_ERROR,\n                   "Invalid slice size %zu.\\n", data_size);\n            break;\n        }\n        init_get_bits(&gb, src + slice_off[slice],\n                      (slice_off[slice + 1] - slice_off[slice]) * 8);\n        for (i = 0; i < (next_off - start_off) * profile->tab_w; i++) {\n            ret = hq_decode_mb(ctx, pic, &gb, perm[0] * 16, perm[1] * 16);\n            if (ret < 0) {\n                av_log(ctx->avctx, AV_LOG_ERROR,\n                       "Error decoding macroblock %d at slice %d.\\n", i, slice);\n                return ret;\n            }\n            perm += 2;\n        }\n    }\n    return 0;\n}']