tree 8f3443e14a1066539e6aab9fe982a6a2a0688b86
parent f7088b70af33b2f444d853df11b98ae5dc2a6df6
author Nicolas Iooss <nicolas.iooss@m4x.org> 1454236596 +0100
committer Steve Lawrence <slawrence@tresys.com> 1454333113 -0500

libsepol: cil: always initialize __cil_permx_to_sepol_class_perms() result

clang warns that __cil_permx_to_sepol_class_perms() return value, rc,
may be unitialized:

    ../cil/src/cil_binary.c:4188:9: error: variable 'rc' may be
    uninitialized when used here [-Werror,-Wconditional-uninitialized]
            return rc;
                   ^~
    ../cil/src/cil_binary.c:4148:8: note: initialize the variable 'rc'
    to silence this warning
            int rc;
                  ^
                   = 0

This theoretically happens when cil_expand_class(permx->obj) returns an
empty list.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
