When allocating an array with calloc(), the first argument usually is
the number of items and the second one the size of an item. Doing so
silences a warning reported by clang's static analyzer:

    kernel_to_cil.c:2050:14: warning: Call to 'calloc' has an allocation
    size of 0 bytes.
            cond_data = calloc(sizeof(struct cond_data), num);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Nicolas Iooss <nicolas.io...@m4x.org>
---
 libsepol/src/kernel_to_cil.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libsepol/src/kernel_to_cil.c b/libsepol/src/kernel_to_cil.c
index 3a1c0be76f45..498e2947f6cb 100644
--- a/libsepol/src/kernel_to_cil.c
+++ b/libsepol/src/kernel_to_cil.c
@@ -2043,7 +2043,7 @@ static int write_cond_nodes_to_cil(FILE *out, struct 
policydb *pdb)
                num++;
        }
 
-       cond_data = calloc(sizeof(struct cond_data), num);
+       cond_data = calloc(num, sizeof(struct cond_data));
        if (!cond_data) {
                rc = -1;
                goto exit;
-- 
2.12.2

Reply via email to