libavcodec/elsdec.c:393: error: Uninitialized Value
  The value read from rung_node was never initialized.

libavcodec/elsdec.c:393:21: 
391.                 if (ur->rung_list_size <= (ur->avail_index + 2) * sizeof(ElsRungNode)) {
392.                     // remember rung_node position
393.                     ptrdiff_t pos     = rung_node - ur->rem_rung_list;
                         ^
394.                     ur->rem_rung_list = av_realloc(ur->rem_rung_list,
395.                                                    ur->rung_list_size +

unsigned ff_els_decode_unsigned(ElsDecCtx *ctx, ElsUnsignedRung *ur)
{
    int i, n, r, bit;
    ElsRungNode *rung_node;
    if (ctx->err)
        return 0;
    for (n = 0; n < ELS_EXPGOLOMB_LEN + 1; n++)
        if (ff_els_decode_bit(ctx, &ur->prefix_rung[n]))
            break;
    if (ctx->err || n >= ELS_EXPGOLOMB_LEN) {
        ctx->err = AVERROR(EOVERFLOW);
        return 0;
    }
    if (!n)
        return 0;
    if (!ur->rem_rung_list) {
        ur->rem_rung_list = av_realloc(NULL, RUNG_SPACE);
        if (!ur->rem_rung_list) {
            ctx->err = AVERROR(ENOMEM);
            return 0;
        }
        memset(ur->rem_rung_list, 0, RUNG_SPACE);
        ur->rung_list_size = RUNG_SPACE;
        ur->avail_index    = ELS_EXPGOLOMB_LEN;
    }
    for (i = 0, r = 0, bit = 0; i < n; i++) {
        if (!i)
            rung_node = &ur->rem_rung_list[n];
        else {
            if (!rung_node->next_index) {
                if (ur->rung_list_size <= (ur->avail_index + 2) * sizeof(ElsRungNode)) {
                    ptrdiff_t pos     = rung_node - ur->rem_rung_list;
                    ur->rem_rung_list = av_realloc(ur->rem_rung_list,
                                                   ur->rung_list_size +
                                                   RUNG_SPACE);
                    if (!ur->rem_rung_list) {
                        av_free(ur->rem_rung_list);
                        ctx->err = AVERROR(ENOMEM);
                        return 0;
                    }
                    memset((uint8_t *) ur->rem_rung_list + ur->rung_list_size, 0,
                           RUNG_SPACE);
                    ur->rung_list_size += RUNG_SPACE;
                    rung_node = &ur->rem_rung_list[pos];
                }
                rung_node->next_index = ur->avail_index;
                ur->avail_index      += 2;
            }
            rung_node = &ur->rem_rung_list[rung_node->next_index + bit];
        }
        bit = ff_els_decode_bit(ctx, &rung_node->rung);
        if (ctx->err)
            return bit;
        r = (r << 1) + bit;
    }
    return (1 << n) - 1 + r;
}
['unsigned ff_els_decode_unsigned(ElsDecCtx *ctx, ElsUnsignedRung *ur)\n{\n    int i, n, r, bit;\n    ElsRungNode *rung_node;\n    if (ctx->err)\n        return 0;\n    for (n = 0; n < ELS_EXPGOLOMB_LEN + 1; n++)\n        if (ff_els_decode_bit(ctx, &ur->prefix_rung[n]))\n            break;\n    if (ctx->err || n >= ELS_EXPGOLOMB_LEN) {\n        ctx->err = AVERROR(EOVERFLOW);\n        return 0;\n    }\n    if (!n)\n        return 0;\n    if (!ur->rem_rung_list) {\n        ur->rem_rung_list = av_realloc(NULL, RUNG_SPACE);\n        if (!ur->rem_rung_list) {\n            ctx->err = AVERROR(ENOMEM);\n            return 0;\n        }\n        memset(ur->rem_rung_list, 0, RUNG_SPACE);\n        ur->rung_list_size = RUNG_SPACE;\n        ur->avail_index    = ELS_EXPGOLOMB_LEN;\n    }\n    for (i = 0, r = 0, bit = 0; i < n; i++) {\n        if (!i)\n            rung_node = &ur->rem_rung_list[n];\n        else {\n            if (!rung_node->next_index) {\n                if (ur->rung_list_size <= (ur->avail_index + 2) * sizeof(ElsRungNode)) {\n                    ptrdiff_t pos     = rung_node - ur->rem_rung_list;\n                    ur->rem_rung_list = av_realloc(ur->rem_rung_list,\n                                                   ur->rung_list_size +\n                                                   RUNG_SPACE);\n                    if (!ur->rem_rung_list) {\n                        av_free(ur->rem_rung_list);\n                        ctx->err = AVERROR(ENOMEM);\n                        return 0;\n                    }\n                    memset((uint8_t *) ur->rem_rung_list + ur->rung_list_size, 0,\n                           RUNG_SPACE);\n                    ur->rung_list_size += RUNG_SPACE;\n                    rung_node = &ur->rem_rung_list[pos];\n                }\n                rung_node->next_index = ur->avail_index;\n                ur->avail_index      += 2;\n            }\n            rung_node = &ur->rem_rung_list[rung_node->next_index + bit];\n        }\n        bit = ff_els_decode_bit(ctx, &rung_node->rung);\n        if (ctx->err)\n            return bit;\n        r = (r << 1) + bit;\n    }\n    return (1 << n) - 1 + r;\n}']