OpenCoverage

krl.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/krl.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6struct revoked_serial {-
7 u_int64_t lo, hi;-
8 struct { struct revoked_serial *rbe_left; struct revoked_serial *rbe_right; struct revoked_serial *rbe_parent; int rbe_color; } tree_entry;-
9};-
10static int serial_cmp(struct revoked_serial *a, struct revoked_serial *b);-
11struct revoked_serial_tree { struct revoked_serial *rbh_root; };-
12__attribute__((__unused__)) static void revoked_serial_tree_RB_INSERT_COLOR(struct revoked_serial_tree *head, struct revoked_serial *elm) { struct revoked_serial *parent, *gparent, *tmp; while ((
(parent = (elm...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
parent = (elm)->tree_entry.rbe_parent)
(parent = (elm...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(parent)->tree...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_color == 1
(parent)->tree...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { gparent = (parent)->tree_entry.rbe_parent; if (parent == (gparent)->tree_entry.rbe_left
parent == (gpa...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) { tmp = (gparent)->tree_entry.rbe_right; if (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { (tmp)->tree_entry.rbe_color = 0; do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); elm = gparent; continue;
never executed: continue;
} if ((
(parent)->tree...e_right == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right == elm
(parent)->tree...e_right == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = parent; parent = elm; elm = tmp; }
never executed: end of block
do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (gparent)->tree_entry.rbe_left; if (((
((gparent)->tr...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
gparent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((gparent)->tr...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (gparent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (gparent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
gparent) == ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (gparent); (gparent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); }
never executed: end of block
else { tmp = (gparent)->tree_entry.rbe_left; if (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { (tmp)->tree_entry.rbe_color = 0; do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); elm = gparent; continue;
never executed: continue;
} if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = parent; parent = elm; elm = tmp; }
never executed: end of block
do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (gparent)->tree_entry.rbe_right; if (((
((gparent)->tr...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
gparent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((gparent)->tr...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (gparent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (gparent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
gparent) == ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (gparent); (gparent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); }
never executed: end of block
} (head->rbh_root)->tree_entry.rbe_color = 0; }
never executed: end of block
__attribute__((__unused__)) static void revoked_serial_tree_RB_REMOVE_COLOR(struct revoked_serial_tree *head, struct revoked_serial *parent, struct revoked_serial *elm) { struct revoked_serial *tmp; while ((elm ==
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
13((
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
14|| (
(elm)->tree_en...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_color == 0
(elm)->tree_en...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && elm != (head)->rbh_root
elm != (head)->rbh_rootDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { tmp = (parent)->tree_entry.rbe_right; if ((
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp)->tree_entry.rbe_color = 0; (parent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_right; }
never executed: end of block
if (((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
15((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
16|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
17((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
18|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
)) { (tmp)->tree_entry.rbe_color = 1; elm = parent; parent = (elm)->tree_entry.rbe_parent; }
never executed: end of block
else { if ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
19((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
20|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { struct revoked_serial *oleft; if ((
(oleft = (tmp)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
oleft = (tmp)->tree_entry.rbe_left)
(oleft = (tmp)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (oleft)->tree_entry.rbe_color = 0;
oleft)->tree_entry.rbe_color = 0;
never executed: (oleft)->tree_entry.rbe_color = 0;
(tmp)->tree_entry.rbe_color = 1; do { (oleft) = (tmp)->tree_entry.rbe_left; if (((
((tmp)->tree_e...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left = (oleft)->tree_entry.rbe_right)
((tmp)->tree_e...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((oleft)->tree_entry.rbe_right)->tree_entry.rbe_parent = (tmp); }
never executed: end of block
do {} while (0); if (((
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oleft)->tree_entry.rbe_parent = (tmp)->tree_entry.rbe_parent)
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp) == ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
else ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
} else (
never executed: (head)->rbh_root = (oleft);
head)->rbh_root = (oleft);
never executed: (head)->rbh_root = (oleft);
(oleft)->tree_entry.rbe_right = (tmp); (tmp)->tree_entry.rbe_parent = (oleft); do {} while (0); if (((
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oleft)->tree_entry.rbe_parent)
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_right; }
never executed: end of block
(tmp)->tree_entry.rbe_color = (parent)->tree_entry.rbe_color; (parent)->tree_entry.rbe_color = 0; if ((
(tmp)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right
(tmp)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
never executed: ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); elm = (head)->rbh_root; break;
never executed: break;
} } else { tmp = (parent)->tree_entry.rbe_left; if ((
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp)->tree_entry.rbe_color = 0; (parent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_left; }
never executed: end of block
if (((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
21((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
22|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
23((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
24|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
)) { (tmp)->tree_entry.rbe_color = 1; elm = parent; parent = (elm)->tree_entry.rbe_parent; }
never executed: end of block
else { if ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
25((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
26|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { struct revoked_serial *oright; if ((
(oright = (tmp...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
oright = (tmp)->tree_entry.rbe_right)
(oright = (tmp...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (oright)->tree_entry.rbe_color = 0;
oright)->tree_entry.rbe_color = 0;
never executed: (oright)->tree_entry.rbe_color = 0;
(tmp)->tree_entry.rbe_color = 1; do { (oright) = (tmp)->tree_entry.rbe_right; if (((
((tmp)->tree_e...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right = (oright)->tree_entry.rbe_left)
((tmp)->tree_e...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((oright)->tree_entry.rbe_left)->tree_entry.rbe_parent = (tmp); }
never executed: end of block
do {} while (0); if (((
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oright)->tree_entry.rbe_parent = (tmp)->tree_entry.rbe_parent)
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp) == ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
else ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
} else (
never executed: (head)->rbh_root = (oright);
head)->rbh_root = (oright);
never executed: (head)->rbh_root = (oright);
(oright)->tree_entry.rbe_left = (tmp); (tmp)->tree_entry.rbe_parent = (oright); do {} while (0); if (((
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oright)->tree_entry.rbe_parent)
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_left; }
never executed: end of block
(tmp)->tree_entry.rbe_color = (parent)->tree_entry.rbe_color; (parent)->tree_entry.rbe_color = 0; if ((
(tmp)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left
(tmp)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
never executed: ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); elm = (head)->rbh_root; break;
never executed: break;
} } } if (elm
elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (elm)->tree_entry.rbe_color = 0;
elm)->tree_entry.rbe_color = 0;
never executed: (elm)->tree_entry.rbe_color = 0;
}
never executed: end of block
__attribute__((__unused__)) static struct revoked_serial * revoked_serial_tree_RB_REMOVE(struct revoked_serial_tree *head, struct revoked_serial *elm) { struct revoked_serial *child, *parent, *old = elm; int color; if ((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left ==
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
27((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
28) child = (elm)->tree_entry.rbe_right;
never executed: child = (elm)->tree_entry.rbe_right;
else if ((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right ==
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
29((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
30) child = (elm)->tree_entry.rbe_left;
never executed: child = (elm)->tree_entry.rbe_left;
else { struct revoked_serial *left; elm = (elm)->tree_entry.rbe_right; while ((
(left = (elm)-...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
left = (elm)->tree_entry.rbe_left)
(left = (elm)-...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = left;
never executed: elm = left;
child = (elm)->tree_entry.rbe_right; parent = (elm)->tree_entry.rbe_parent; color = (elm)->tree_entry.rbe_color; if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (child)->tree_entry.rbe_parent = parent;
child)->tree_entry.rbe_parent = parent;
never executed: (child)->tree_entry.rbe_parent = parent;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = child;
parent)->tree_entry.rbe_left = child;
never executed: (parent)->tree_entry.rbe_left = child;
else (
never executed: (parent)->tree_entry.rbe_right = child;
parent)->tree_entry.rbe_right = child;
never executed: (parent)->tree_entry.rbe_right = child;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = child;
head)->rbh_root = child;
never executed: (head)->rbh_root = child;
if ((
(elm)->tree_en..._parent == oldDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent == old
(elm)->tree_en..._parent == oldDescription
TRUEnever evaluated
FALSEnever evaluated
) parent = elm;
never executed: parent = elm;
(elm)->tree_entry = (old)->tree_entry; if ((
(old)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_parent
(old)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if (((
((old)->tree_e...be_left == oldDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_parent)->tree_entry.rbe_left == old
((old)->tree_e...be_left == oldDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
else ((
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = elm;
head)->rbh_root = elm;
never executed: (head)->rbh_root = elm;
((old)->tree_entry.rbe_left)->tree_entry.rbe_parent = elm; if ((
(old)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_right
(old)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
never executed: ((old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { left = parent; do { do {} while (0); }
never executed: end of block
while ((
(left = (left)...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
left = (left)->tree_entry.rbe_parent)
(left = (left)...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
); }
never executed: end of block
goto
never executed: goto color;
color;
never executed: goto color;
} parent = (elm)->tree_entry.rbe_parent; color = (elm)->tree_entry.rbe_color; if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (child)->tree_entry.rbe_parent = parent;
child)->tree_entry.rbe_parent = parent;
never executed: (child)->tree_entry.rbe_parent = parent;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = child;
parent)->tree_entry.rbe_left = child;
never executed: (parent)->tree_entry.rbe_left = child;
else (
never executed: (parent)->tree_entry.rbe_right = child;
parent)->tree_entry.rbe_right = child;
never executed: (parent)->tree_entry.rbe_right = child;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = child;
head)->rbh_root = child;
never executed: (head)->rbh_root = child;
color:
code before this statement never executed: color:
if (color == 0
color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) revoked_serial_tree_RB_REMOVE_COLOR(head, parent, child);
never executed: revoked_serial_tree_RB_REMOVE_COLOR(head, parent, child);
return
never executed: return (old);
(old);
never executed: return (old);
} __attribute__((__unused__)) static struct revoked_serial * revoked_serial_tree_RB_INSERT(struct revoked_serial_tree *head, struct revoked_serial *elm) { struct revoked_serial *tmp; struct revoked_serial *parent =
0
31((void *)0)-
32; int comp = 0; tmp = (head)->rbh_root; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { parent = tmp; comp = (serial_cmp)(elm, parent); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} do { (elm)->tree_entry.rbe_parent = parent; (elm)->tree_entry.rbe_left = (elm)->tree_entry.rbe_right =
0
33((void *)0)-
34; (elm)->tree_entry.rbe_color = 1; } while (0); if (parent !=
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
35((
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
36) { if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = elm;
parent)->tree_entry.rbe_left = elm;
never executed: (parent)->tree_entry.rbe_left = elm;
else (
never executed: (parent)->tree_entry.rbe_right = elm;
parent)->tree_entry.rbe_right = elm;
never executed: (parent)->tree_entry.rbe_right = elm;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = elm;
head)->rbh_root = elm;
never executed: (head)->rbh_root = elm;
revoked_serial_tree_RB_INSERT_COLOR(head, elm); return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
37((
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
void *)0)
never executed: return ( ((void *)0) );
0
38)
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
;
never executed: return ( ((void *)0) );
} __attribute__((__unused__)) static struct revoked_serial * revoked_serial_tree_RB_FIND(struct revoked_serial_tree *head, struct revoked_serial *elm) { struct revoked_serial *tmp = (head)->rbh_root; int comp; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { comp = serial_cmp(elm, tmp); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
39((
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
void *)0)
never executed: return ( ((void *)0) );
0
40)
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
;
never executed: return ( ((void *)0) );
} __attribute__((__unused__)) static struct revoked_serial * revoked_serial_tree_RB_NFIND(struct revoked_serial_tree *head, struct revoked_serial *elm) { struct revoked_serial *tmp = (head)->rbh_root; struct revoked_serial *res =
0
41((void *)0)-
42; int comp; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { comp = serial_cmp(elm, tmp); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) { res = tmp; tmp = (tmp)->tree_entry.rbe_left; }
never executed: end of block
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} return
never executed: return (res);
(res);
never executed: return (res);
} __attribute__((__unused__)) static struct revoked_serial * revoked_serial_tree_RB_NEXT(struct revoked_serial *elm) { if ((
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) { elm = (elm)->tree_entry.rbe_right; while ((
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_left;
never executed: elm = (elm)->tree_entry.rbe_left;
}
never executed: end of block
else { if ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_left)
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
else { while ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_right)
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
elm = (elm)->tree_entry.rbe_parent; }
never executed: end of block
} return
never executed: return (elm);
(elm);
never executed: return (elm);
} __attribute__((__unused__)) static struct revoked_serial * revoked_serial_tree_RB_PREV(struct revoked_serial *elm) { if ((
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) { elm = (elm)->tree_entry.rbe_left; while ((
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_right;
never executed: elm = (elm)->tree_entry.rbe_right;
}
never executed: end of block
else { if ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_right)
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
else { while ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_left)
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
elm = (elm)->tree_entry.rbe_parent; }
never executed: end of block
} return
never executed: return (elm);
(elm);
never executed: return (elm);
} __attribute__((__unused__)) static struct revoked_serial * revoked_serial_tree_RB_MINMAX(struct revoked_serial_tree *head, int val) { struct revoked_serial *tmp = (head)->rbh_root; struct revoked_serial *parent =
0
43((void *)0)-
44; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { parent = tmp; if (val < 0
val < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
} return
never executed: return (parent);
(parent);
never executed: return (parent);
};
0
45-
46-
47struct revoked_key_id {-
48 char *key_id;-
49 struct { struct revoked_key_id *rbe_left; struct revoked_key_id *rbe_right; struct revoked_key_id *rbe_parent; int rbe_color; } tree_entry;-
50};-
51static int key_id_cmp(struct revoked_key_id *a, struct revoked_key_id *b);-
52struct revoked_key_id_tree { struct revoked_key_id *rbh_root; };-
53__attribute__((__unused__)) static void revoked_key_id_tree_RB_INSERT_COLOR(struct revoked_key_id_tree *head, struct revoked_key_id *elm) { struct revoked_key_id *parent, *gparent, *tmp; while ((
(parent = (elm...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
parent = (elm)->tree_entry.rbe_parent)
(parent = (elm...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(parent)->tree...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_color == 1
(parent)->tree...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { gparent = (parent)->tree_entry.rbe_parent; if (parent == (gparent)->tree_entry.rbe_left
parent == (gpa...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) { tmp = (gparent)->tree_entry.rbe_right; if (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { (tmp)->tree_entry.rbe_color = 0; do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); elm = gparent; continue;
never executed: continue;
} if ((
(parent)->tree...e_right == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right == elm
(parent)->tree...e_right == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = parent; parent = elm; elm = tmp; }
never executed: end of block
do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (gparent)->tree_entry.rbe_left; if (((
((gparent)->tr...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
gparent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((gparent)->tr...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (gparent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (gparent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
gparent) == ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (gparent); (gparent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); }
never executed: end of block
else { tmp = (gparent)->tree_entry.rbe_left; if (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { (tmp)->tree_entry.rbe_color = 0; do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); elm = gparent; continue;
never executed: continue;
} if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = parent; parent = elm; elm = tmp; }
never executed: end of block
do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (gparent)->tree_entry.rbe_right; if (((
((gparent)->tr...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
gparent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((gparent)->tr...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (gparent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (gparent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
gparent) == ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (gparent); (gparent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); }
never executed: end of block
} (head->rbh_root)->tree_entry.rbe_color = 0; }
never executed: end of block
__attribute__((__unused__)) static void revoked_key_id_tree_RB_REMOVE_COLOR(struct revoked_key_id_tree *head, struct revoked_key_id *parent, struct revoked_key_id *elm) { struct revoked_key_id *tmp; while ((elm ==
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
54((
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
55|| (
(elm)->tree_en...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_color == 0
(elm)->tree_en...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && elm != (head)->rbh_root
elm != (head)->rbh_rootDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { tmp = (parent)->tree_entry.rbe_right; if ((
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp)->tree_entry.rbe_color = 0; (parent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_right; }
never executed: end of block
if (((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
56((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
57|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
58((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
59|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
)) { (tmp)->tree_entry.rbe_color = 1; elm = parent; parent = (elm)->tree_entry.rbe_parent; }
never executed: end of block
else { if ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
60((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
61|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { struct revoked_key_id *oleft; if ((
(oleft = (tmp)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
oleft = (tmp)->tree_entry.rbe_left)
(oleft = (tmp)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (oleft)->tree_entry.rbe_color = 0;
oleft)->tree_entry.rbe_color = 0;
never executed: (oleft)->tree_entry.rbe_color = 0;
(tmp)->tree_entry.rbe_color = 1; do { (oleft) = (tmp)->tree_entry.rbe_left; if (((
((tmp)->tree_e...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left = (oleft)->tree_entry.rbe_right)
((tmp)->tree_e...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((oleft)->tree_entry.rbe_right)->tree_entry.rbe_parent = (tmp); }
never executed: end of block
do {} while (0); if (((
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oleft)->tree_entry.rbe_parent = (tmp)->tree_entry.rbe_parent)
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp) == ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
else ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
} else (
never executed: (head)->rbh_root = (oleft);
head)->rbh_root = (oleft);
never executed: (head)->rbh_root = (oleft);
(oleft)->tree_entry.rbe_right = (tmp); (tmp)->tree_entry.rbe_parent = (oleft); do {} while (0); if (((
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oleft)->tree_entry.rbe_parent)
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_right; }
never executed: end of block
(tmp)->tree_entry.rbe_color = (parent)->tree_entry.rbe_color; (parent)->tree_entry.rbe_color = 0; if ((
(tmp)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right
(tmp)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
never executed: ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); elm = (head)->rbh_root; break;
never executed: break;
} } else { tmp = (parent)->tree_entry.rbe_left; if ((
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp)->tree_entry.rbe_color = 0; (parent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_left; }
never executed: end of block
if (((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
62((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
63|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
64((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
65|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
)) { (tmp)->tree_entry.rbe_color = 1; elm = parent; parent = (elm)->tree_entry.rbe_parent; }
never executed: end of block
else { if ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
66((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
67|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { struct revoked_key_id *oright; if ((
(oright = (tmp...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
oright = (tmp)->tree_entry.rbe_right)
(oright = (tmp...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (oright)->tree_entry.rbe_color = 0;
oright)->tree_entry.rbe_color = 0;
never executed: (oright)->tree_entry.rbe_color = 0;
(tmp)->tree_entry.rbe_color = 1; do { (oright) = (tmp)->tree_entry.rbe_right; if (((
((tmp)->tree_e...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right = (oright)->tree_entry.rbe_left)
((tmp)->tree_e...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((oright)->tree_entry.rbe_left)->tree_entry.rbe_parent = (tmp); }
never executed: end of block
do {} while (0); if (((
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oright)->tree_entry.rbe_parent = (tmp)->tree_entry.rbe_parent)
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp) == ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
else ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
} else (
never executed: (head)->rbh_root = (oright);
head)->rbh_root = (oright);
never executed: (head)->rbh_root = (oright);
(oright)->tree_entry.rbe_left = (tmp); (tmp)->tree_entry.rbe_parent = (oright); do {} while (0); if (((
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oright)->tree_entry.rbe_parent)
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_left; }
never executed: end of block
(tmp)->tree_entry.rbe_color = (parent)->tree_entry.rbe_color; (parent)->tree_entry.rbe_color = 0; if ((
(tmp)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left
(tmp)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
never executed: ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); elm = (head)->rbh_root; break;
never executed: break;
} } } if (elm
elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (elm)->tree_entry.rbe_color = 0;
elm)->tree_entry.rbe_color = 0;
never executed: (elm)->tree_entry.rbe_color = 0;
}
never executed: end of block
__attribute__((__unused__)) static struct revoked_key_id * revoked_key_id_tree_RB_REMOVE(struct revoked_key_id_tree *head, struct revoked_key_id *elm) { struct revoked_key_id *child, *parent, *old = elm; int color; if ((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left ==
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
68((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
69) child = (elm)->tree_entry.rbe_right;
never executed: child = (elm)->tree_entry.rbe_right;
else if ((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right ==
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
70((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
71) child = (elm)->tree_entry.rbe_left;
never executed: child = (elm)->tree_entry.rbe_left;
else { struct revoked_key_id *left; elm = (elm)->tree_entry.rbe_right; while ((
(left = (elm)-...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
left = (elm)->tree_entry.rbe_left)
(left = (elm)-...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = left;
never executed: elm = left;
child = (elm)->tree_entry.rbe_right; parent = (elm)->tree_entry.rbe_parent; color = (elm)->tree_entry.rbe_color; if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (child)->tree_entry.rbe_parent = parent;
child)->tree_entry.rbe_parent = parent;
never executed: (child)->tree_entry.rbe_parent = parent;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = child;
parent)->tree_entry.rbe_left = child;
never executed: (parent)->tree_entry.rbe_left = child;
else (
never executed: (parent)->tree_entry.rbe_right = child;
parent)->tree_entry.rbe_right = child;
never executed: (parent)->tree_entry.rbe_right = child;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = child;
head)->rbh_root = child;
never executed: (head)->rbh_root = child;
if ((
(elm)->tree_en..._parent == oldDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent == old
(elm)->tree_en..._parent == oldDescription
TRUEnever evaluated
FALSEnever evaluated
) parent = elm;
never executed: parent = elm;
(elm)->tree_entry = (old)->tree_entry; if ((
(old)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_parent
(old)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if (((
((old)->tree_e...be_left == oldDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_parent)->tree_entry.rbe_left == old
((old)->tree_e...be_left == oldDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
else ((
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = elm;
head)->rbh_root = elm;
never executed: (head)->rbh_root = elm;
((old)->tree_entry.rbe_left)->tree_entry.rbe_parent = elm; if ((
(old)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_right
(old)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
never executed: ((old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { left = parent; do { do {} while (0); }
never executed: end of block
while ((
(left = (left)...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
left = (left)->tree_entry.rbe_parent)
(left = (left)...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
); }
never executed: end of block
goto
never executed: goto color;
color;
never executed: goto color;
} parent = (elm)->tree_entry.rbe_parent; color = (elm)->tree_entry.rbe_color; if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (child)->tree_entry.rbe_parent = parent;
child)->tree_entry.rbe_parent = parent;
never executed: (child)->tree_entry.rbe_parent = parent;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = child;
parent)->tree_entry.rbe_left = child;
never executed: (parent)->tree_entry.rbe_left = child;
else (
never executed: (parent)->tree_entry.rbe_right = child;
parent)->tree_entry.rbe_right = child;
never executed: (parent)->tree_entry.rbe_right = child;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = child;
head)->rbh_root = child;
never executed: (head)->rbh_root = child;
color:
code before this statement never executed: color:
if (color == 0
color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) revoked_key_id_tree_RB_REMOVE_COLOR(head, parent, child);
never executed: revoked_key_id_tree_RB_REMOVE_COLOR(head, parent, child);
return
never executed: return (old);
(old);
never executed: return (old);
} __attribute__((__unused__)) static struct revoked_key_id * revoked_key_id_tree_RB_INSERT(struct revoked_key_id_tree *head, struct revoked_key_id *elm) { struct revoked_key_id *tmp; struct revoked_key_id *parent =
0
72((void *)0)-
73; int comp = 0; tmp = (head)->rbh_root; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { parent = tmp; comp = (key_id_cmp)(elm, parent); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} do { (elm)->tree_entry.rbe_parent = parent; (elm)->tree_entry.rbe_left = (elm)->tree_entry.rbe_right =
0
74((void *)0)-
75; (elm)->tree_entry.rbe_color = 1; } while (0); if (parent !=
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
76((
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
77) { if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = elm;
parent)->tree_entry.rbe_left = elm;
never executed: (parent)->tree_entry.rbe_left = elm;
else (
never executed: (parent)->tree_entry.rbe_right = elm;
parent)->tree_entry.rbe_right = elm;
never executed: (parent)->tree_entry.rbe_right = elm;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = elm;
head)->rbh_root = elm;
never executed: (head)->rbh_root = elm;
revoked_key_id_tree_RB_INSERT_COLOR(head, elm); return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
78((
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
void *)0)
never executed: return ( ((void *)0) );
0
79)
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
;
never executed: return ( ((void *)0) );
} __attribute__((__unused__)) static struct revoked_key_id * revoked_key_id_tree_RB_FIND(struct revoked_key_id_tree *head, struct revoked_key_id *elm) { struct revoked_key_id *tmp = (head)->rbh_root; int comp; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { comp = key_id_cmp(elm, tmp); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
80((
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
void *)0)
never executed: return ( ((void *)0) );
0
81)
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
;
never executed: return ( ((void *)0) );
} __attribute__((__unused__)) static struct revoked_key_id * revoked_key_id_tree_RB_NFIND(struct revoked_key_id_tree *head, struct revoked_key_id *elm) { struct revoked_key_id *tmp = (head)->rbh_root; struct revoked_key_id *res =
0
82((void *)0)-
83; int comp; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { comp = key_id_cmp(elm, tmp); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) { res = tmp; tmp = (tmp)->tree_entry.rbe_left; }
never executed: end of block
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} return
never executed: return (res);
(res);
never executed: return (res);
} __attribute__((__unused__)) static struct revoked_key_id * revoked_key_id_tree_RB_NEXT(struct revoked_key_id *elm) { if ((
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) { elm = (elm)->tree_entry.rbe_right; while ((
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_left;
never executed: elm = (elm)->tree_entry.rbe_left;
}
never executed: end of block
else { if ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_left)
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
else { while ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_right)
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
elm = (elm)->tree_entry.rbe_parent; }
never executed: end of block
} return
never executed: return (elm);
(elm);
never executed: return (elm);
} __attribute__((__unused__)) static struct revoked_key_id * revoked_key_id_tree_RB_PREV(struct revoked_key_id *elm) { if ((
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) { elm = (elm)->tree_entry.rbe_left; while ((
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_right;
never executed: elm = (elm)->tree_entry.rbe_right;
}
never executed: end of block
else { if ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_right)
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
else { while ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_left)
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
elm = (elm)->tree_entry.rbe_parent; }
never executed: end of block
} return
never executed: return (elm);
(elm);
never executed: return (elm);
} __attribute__((__unused__)) static struct revoked_key_id * revoked_key_id_tree_RB_MINMAX(struct revoked_key_id_tree *head, int val) { struct revoked_key_id *tmp = (head)->rbh_root; struct revoked_key_id *parent =
0
84((void *)0)-
85; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { parent = tmp; if (val < 0
val < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
} return
never executed: return (parent);
(parent);
never executed: return (parent);
};
0
86-
87-
88struct revoked_blob {-
89 u_char *blob;-
90 size_t len;-
91 struct { struct revoked_blob *rbe_left; struct revoked_blob *rbe_right; struct revoked_blob *rbe_parent; int rbe_color; } tree_entry;-
92};-
93static int blob_cmp(struct revoked_blob *a, struct revoked_blob *b);-
94struct revoked_blob_tree { struct revoked_blob *rbh_root; };-
95__attribute__((__unused__)) static void revoked_blob_tree_RB_INSERT_COLOR(struct revoked_blob_tree *head, struct revoked_blob *elm) { struct revoked_blob *parent, *gparent, *tmp; while ((
(parent = (elm...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
parent = (elm)->tree_entry.rbe_parent)
(parent = (elm...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(parent)->tree...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_color == 1
(parent)->tree...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { gparent = (parent)->tree_entry.rbe_parent; if (parent == (gparent)->tree_entry.rbe_left
parent == (gpa...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) { tmp = (gparent)->tree_entry.rbe_right; if (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { (tmp)->tree_entry.rbe_color = 0; do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); elm = gparent; continue;
never executed: continue;
} if ((
(parent)->tree...e_right == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right == elm
(parent)->tree...e_right == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = parent; parent = elm; elm = tmp; }
never executed: end of block
do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (gparent)->tree_entry.rbe_left; if (((
((gparent)->tr...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
gparent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((gparent)->tr...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (gparent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (gparent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
gparent) == ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (gparent); (gparent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); }
never executed: end of block
else { tmp = (gparent)->tree_entry.rbe_left; if (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { (tmp)->tree_entry.rbe_color = 0; do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); elm = gparent; continue;
never executed: continue;
} if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = parent; parent = elm; elm = tmp; }
never executed: end of block
do { (parent)->tree_entry.rbe_color = 0; (gparent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (gparent)->tree_entry.rbe_right; if (((
((gparent)->tr...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
gparent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((gparent)->tr...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (gparent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (gparent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
gparent) == ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(gparent) == (...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((gparent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (gparent); (gparent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); }
never executed: end of block
} (head->rbh_root)->tree_entry.rbe_color = 0; }
never executed: end of block
__attribute__((__unused__)) static void revoked_blob_tree_RB_REMOVE_COLOR(struct revoked_blob_tree *head, struct revoked_blob *parent, struct revoked_blob *elm) { struct revoked_blob *tmp; while ((elm ==
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
96((
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
elm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
97|| (
(elm)->tree_en...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_color == 0
(elm)->tree_en...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && elm != (head)->rbh_root
elm != (head)->rbh_rootDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) { tmp = (parent)->tree_entry.rbe_right; if ((
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp)->tree_entry.rbe_color = 0; (parent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_right; }
never executed: end of block
if (((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
98((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
99|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
100((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
101|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
)) { (tmp)->tree_entry.rbe_color = 1; elm = parent; parent = (elm)->tree_entry.rbe_parent; }
never executed: end of block
else { if ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
102((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
103|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { struct revoked_blob *oleft; if ((
(oleft = (tmp)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
oleft = (tmp)->tree_entry.rbe_left)
(oleft = (tmp)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (oleft)->tree_entry.rbe_color = 0;
oleft)->tree_entry.rbe_color = 0;
never executed: (oleft)->tree_entry.rbe_color = 0;
(tmp)->tree_entry.rbe_color = 1; do { (oleft) = (tmp)->tree_entry.rbe_left; if (((
((tmp)->tree_e...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left = (oleft)->tree_entry.rbe_right)
((tmp)->tree_e...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((oleft)->tree_entry.rbe_right)->tree_entry.rbe_parent = (tmp); }
never executed: end of block
do {} while (0); if (((
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oleft)->tree_entry.rbe_parent = (tmp)->tree_entry.rbe_parent)
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp) == ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oleft);
else ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oleft);
} else (
never executed: (head)->rbh_root = (oleft);
head)->rbh_root = (oleft);
never executed: (head)->rbh_root = (oleft);
(oleft)->tree_entry.rbe_right = (tmp); (tmp)->tree_entry.rbe_parent = (oleft); do {} while (0); if (((
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oleft)->tree_entry.rbe_parent)
((oleft)->tree...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_right; }
never executed: end of block
(tmp)->tree_entry.rbe_color = (parent)->tree_entry.rbe_color; (parent)->tree_entry.rbe_color = 0; if ((
(tmp)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right
(tmp)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
never executed: ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_color = 0;
do { (tmp) = (parent)->tree_entry.rbe_right; if (((
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_right = (tmp)->tree_entry.rbe_left)
((parent)->tre...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_left = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); elm = (head)->rbh_root; break;
never executed: break;
} } else { tmp = (parent)->tree_entry.rbe_left; if ((
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_color == 1
(tmp)->tree_en...rbe_color == 1Description
TRUEnever evaluated
FALSEnever evaluated
) { do { (tmp)->tree_entry.rbe_color = 0; (parent)->tree_entry.rbe_color = 1; } while (0); do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_left; }
never executed: end of block
if (((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
104((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
105|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) && ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
106((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
107|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
)) { (tmp)->tree_entry.rbe_color = 1; elm = parent; parent = (elm)->tree_entry.rbe_parent; }
never executed: end of block
else { if ((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left ==
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
108((
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(tmp)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
109|| ((
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color == 0
((tmp)->tree_e...rbe_color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { struct revoked_blob *oright; if ((
(oright = (tmp...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
oright = (tmp)->tree_entry.rbe_right)
(oright = (tmp...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (oright)->tree_entry.rbe_color = 0;
oright)->tree_entry.rbe_color = 0;
never executed: (oright)->tree_entry.rbe_color = 0;
(tmp)->tree_entry.rbe_color = 1; do { (oright) = (tmp)->tree_entry.rbe_right; if (((
((tmp)->tree_e...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_right = (oright)->tree_entry.rbe_left)
((tmp)->tree_e...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((oright)->tree_entry.rbe_left)->tree_entry.rbe_parent = (tmp); }
never executed: end of block
do {} while (0); if (((
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oright)->tree_entry.rbe_parent = (tmp)->tree_entry.rbe_parent)
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp) == ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left
(tmp) == ((tmp...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_left = (oright);
else ((
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
never executed: ((tmp)->tree_entry.rbe_parent)->tree_entry.rbe_right = (oright);
} else (
never executed: (head)->rbh_root = (oright);
head)->rbh_root = (oright);
never executed: (head)->rbh_root = (oright);
(oright)->tree_entry.rbe_left = (tmp); (tmp)->tree_entry.rbe_parent = (oright); do {} while (0); if (((
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
oright)->tree_entry.rbe_parent)
((oright)->tre...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); tmp = (parent)->tree_entry.rbe_left; }
never executed: end of block
(tmp)->tree_entry.rbe_color = (parent)->tree_entry.rbe_color; (parent)->tree_entry.rbe_color = 0; if ((
(tmp)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_left
(tmp)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
never executed: ((tmp)->tree_entry.rbe_left)->tree_entry.rbe_color = 0;
do { (tmp) = (parent)->tree_entry.rbe_left; if (((
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left = (tmp)->tree_entry.rbe_right)
((parent)->tre...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) { ((tmp)->tree_entry.rbe_right)->tree_entry.rbe_parent = (parent); }
never executed: end of block
do {} while (0); if (((
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent = (parent)->tree_entry.rbe_parent)
((tmp)->tree_e...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
parent) == ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left
(parent) == ((...entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_left = (tmp);
else ((
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
never executed: ((parent)->tree_entry.rbe_parent)->tree_entry.rbe_right = (tmp);
} else (
never executed: (head)->rbh_root = (tmp);
head)->rbh_root = (tmp);
never executed: (head)->rbh_root = (tmp);
(tmp)->tree_entry.rbe_right = (parent); (parent)->tree_entry.rbe_parent = (tmp); do {} while (0); if (((
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
tmp)->tree_entry.rbe_parent)
((tmp)->tree_entry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
) do {}
never executed: end of block
while (0); } while (0); elm = (head)->rbh_root; break;
never executed: break;
} } } if (elm
elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (elm)->tree_entry.rbe_color = 0;
elm)->tree_entry.rbe_color = 0;
never executed: (elm)->tree_entry.rbe_color = 0;
}
never executed: end of block
__attribute__((__unused__)) static struct revoked_blob * revoked_blob_tree_RB_REMOVE(struct revoked_blob_tree *head, struct revoked_blob *elm) { struct revoked_blob *child, *parent, *old = elm; int color; if ((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left ==
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
110((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
111) child = (elm)->tree_entry.rbe_right;
never executed: child = (elm)->tree_entry.rbe_right;
else if ((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right ==
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
112((
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(elm)->tree_en...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
113) child = (elm)->tree_entry.rbe_left;
never executed: child = (elm)->tree_entry.rbe_left;
else { struct revoked_blob *left; elm = (elm)->tree_entry.rbe_right; while ((
(left = (elm)-...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
left = (elm)->tree_entry.rbe_left)
(left = (elm)-...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = left;
never executed: elm = left;
child = (elm)->tree_entry.rbe_right; parent = (elm)->tree_entry.rbe_parent; color = (elm)->tree_entry.rbe_color; if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (child)->tree_entry.rbe_parent = parent;
child)->tree_entry.rbe_parent = parent;
never executed: (child)->tree_entry.rbe_parent = parent;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = child;
parent)->tree_entry.rbe_left = child;
never executed: (parent)->tree_entry.rbe_left = child;
else (
never executed: (parent)->tree_entry.rbe_right = child;
parent)->tree_entry.rbe_right = child;
never executed: (parent)->tree_entry.rbe_right = child;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = child;
head)->rbh_root = child;
never executed: (head)->rbh_root = child;
if ((
(elm)->tree_en..._parent == oldDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent == old
(elm)->tree_en..._parent == oldDescription
TRUEnever evaluated
FALSEnever evaluated
) parent = elm;
never executed: parent = elm;
(elm)->tree_entry = (old)->tree_entry; if ((
(old)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_parent
(old)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if (((
((old)->tree_e...be_left == oldDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_parent)->tree_entry.rbe_left == old
((old)->tree_e...be_left == oldDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_left = elm;
else ((
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
never executed: ((old)->tree_entry.rbe_parent)->tree_entry.rbe_right = elm;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = elm;
head)->rbh_root = elm;
never executed: (head)->rbh_root = elm;
((old)->tree_entry.rbe_left)->tree_entry.rbe_parent = elm; if ((
(old)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
old)->tree_entry.rbe_right
(old)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) ((
never executed: ((old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
never executed: ((old)->tree_entry.rbe_right)->tree_entry.rbe_parent = elm;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { left = parent; do { do {} while (0); }
never executed: end of block
while ((
(left = (left)...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
left = (left)->tree_entry.rbe_parent)
(left = (left)...ry.rbe_parent)Description
TRUEnever evaluated
FALSEnever evaluated
); }
never executed: end of block
goto
never executed: goto color;
color;
never executed: goto color;
} parent = (elm)->tree_entry.rbe_parent; color = (elm)->tree_entry.rbe_color; if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (child)->tree_entry.rbe_parent = parent;
child)->tree_entry.rbe_parent = parent;
never executed: (child)->tree_entry.rbe_parent = parent;
if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) { if ((
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
parent)->tree_entry.rbe_left == elm
(parent)->tree...be_left == elmDescription
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = child;
parent)->tree_entry.rbe_left = child;
never executed: (parent)->tree_entry.rbe_left = child;
else (
never executed: (parent)->tree_entry.rbe_right = child;
parent)->tree_entry.rbe_right = child;
never executed: (parent)->tree_entry.rbe_right = child;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = child;
head)->rbh_root = child;
never executed: (head)->rbh_root = child;
color:
code before this statement never executed: color:
if (color == 0
color == 0Description
TRUEnever evaluated
FALSEnever evaluated
) revoked_blob_tree_RB_REMOVE_COLOR(head, parent, child);
never executed: revoked_blob_tree_RB_REMOVE_COLOR(head, parent, child);
return
never executed: return (old);
(old);
never executed: return (old);
} __attribute__((__unused__)) static struct revoked_blob * revoked_blob_tree_RB_INSERT(struct revoked_blob_tree *head, struct revoked_blob *elm) { struct revoked_blob *tmp; struct revoked_blob *parent =
0
114((void *)0)-
115; int comp = 0; tmp = (head)->rbh_root; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { parent = tmp; comp = (blob_cmp)(elm, parent); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} do { (elm)->tree_entry.rbe_parent = parent; (elm)->tree_entry.rbe_left = (elm)->tree_entry.rbe_right =
0
116((void *)0)-
117; (elm)->tree_entry.rbe_color = 1; } while (0); if (parent !=
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
118((
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
parent != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
119) { if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) (
never executed: (parent)->tree_entry.rbe_left = elm;
parent)->tree_entry.rbe_left = elm;
never executed: (parent)->tree_entry.rbe_left = elm;
else (
never executed: (parent)->tree_entry.rbe_right = elm;
parent)->tree_entry.rbe_right = elm;
never executed: (parent)->tree_entry.rbe_right = elm;
do {} while (0); }
never executed: end of block
else (
never executed: (head)->rbh_root = elm;
head)->rbh_root = elm;
never executed: (head)->rbh_root = elm;
revoked_blob_tree_RB_INSERT_COLOR(head, elm); return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
120((
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
void *)0)
never executed: return ( ((void *)0) );
0
121)
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
;
never executed: return ( ((void *)0) );
} __attribute__((__unused__)) static struct revoked_blob * revoked_blob_tree_RB_FIND(struct revoked_blob_tree *head, struct revoked_blob *elm) { struct revoked_blob *tmp = (head)->rbh_root; int comp; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { comp = blob_cmp(elm, tmp); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
122((
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
void *)0)
never executed: return ( ((void *)0) );
0
123)
never executed: return ( ((void *)0) );
never executed: return ( ((void *)0) );
;
never executed: return ( ((void *)0) );
} __attribute__((__unused__)) static struct revoked_blob * revoked_blob_tree_RB_NFIND(struct revoked_blob_tree *head, struct revoked_blob *elm) { struct revoked_blob *tmp = (head)->rbh_root; struct revoked_blob *res =
0
124((void *)0)-
125; int comp; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { comp = blob_cmp(elm, tmp); if (comp < 0
comp < 0Description
TRUEnever evaluated
FALSEnever evaluated
) { res = tmp; tmp = (tmp)->tree_entry.rbe_left; }
never executed: end of block
else if (comp > 0
comp > 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
else return
never executed: return (tmp);
(tmp);
never executed: return (tmp);
} return
never executed: return (res);
(res);
never executed: return (res);
} __attribute__((__unused__)) static struct revoked_blob * revoked_blob_tree_RB_NEXT(struct revoked_blob *elm) { if ((
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) { elm = (elm)->tree_entry.rbe_right; while ((
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_left;
never executed: elm = (elm)->tree_entry.rbe_left;
}
never executed: end of block
else { if ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_left)
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
else { while ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_right)
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
elm = (elm)->tree_entry.rbe_parent; }
never executed: end of block
} return
never executed: return (elm);
(elm);
never executed: return (elm);
} __attribute__((__unused__)) static struct revoked_blob * revoked_blob_tree_RB_PREV(struct revoked_blob *elm) { if ((
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_left
(elm)->tree_entry.rbe_leftDescription
TRUEnever evaluated
FALSEnever evaluated
) { elm = (elm)->tree_entry.rbe_left; while ((
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_right
(elm)->tree_entry.rbe_rightDescription
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_right;
never executed: elm = (elm)->tree_entry.rbe_right;
}
never executed: end of block
else { if ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_right)
(elm == ((elm)...try.rbe_right)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
else { while ((
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
elm)->tree_entry.rbe_parent
(elm)->tree_entry.rbe_parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
elm == ((elm)->tree_entry.rbe_parent)->tree_entry.rbe_left)
(elm == ((elm)...ntry.rbe_left)Description
TRUEnever evaluated
FALSEnever evaluated
) elm = (elm)->tree_entry.rbe_parent;
never executed: elm = (elm)->tree_entry.rbe_parent;
elm = (elm)->tree_entry.rbe_parent; }
never executed: end of block
} return
never executed: return (elm);
(elm);
never executed: return (elm);
} __attribute__((__unused__)) static struct revoked_blob * revoked_blob_tree_RB_MINMAX(struct revoked_blob_tree *head, int val) { struct revoked_blob *tmp = (head)->rbh_root; struct revoked_blob *parent =
0
126((void *)0)-
127; while (tmp
tmpDescription
TRUEnever evaluated
FALSEnever evaluated
) { parent = tmp; if (val < 0
val < 0Description
TRUEnever evaluated
FALSEnever evaluated
) tmp = (tmp)->tree_entry.rbe_left;
never executed: tmp = (tmp)->tree_entry.rbe_left;
else tmp = (tmp)->tree_entry.rbe_right;
never executed: tmp = (tmp)->tree_entry.rbe_right;
} return
never executed: return (parent);
(parent);
never executed: return (parent);
};
0
128-
129-
130struct revoked_certs {-
131 struct sshkey *ca_key;-
132 struct revoked_serial_tree revoked_serials;-
133 struct revoked_key_id_tree revoked_key_ids;-
134 struct { struct revoked_certs *tqe_next; struct revoked_certs **tqe_prev; } entry;-
135};-
136struct revoked_certs_list { struct revoked_certs *tqh_first; struct revoked_certs **tqh_last; };-
137-
138struct ssh_krl {-
139 u_int64_t krl_version;-
140 u_int64_t generated_date;-
141 u_int64_t flags;-
142 char *comment;-
143 struct revoked_blob_tree revoked_keys;-
144 struct revoked_blob_tree revoked_sha1s;-
145 struct revoked_blob_tree revoked_sha256s;-
146 struct revoked_certs_list revoked_certs;-
147};-
148-
149-
150static int-
151serial_cmp(struct revoked_serial *a, struct revoked_serial *b)-
152{-
153 if (a->hi >= b->lo
a->hi >= b->loDescription
TRUEnever evaluated
FALSEnever evaluated
&& a->lo <= b->hi
a->lo <= b->hiDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
154 return
never executed: return 0;
0;
never executed: return 0;
0
155 return
never executed: return a->lo < b->lo ? -1 : 1;
a->lo < b->lo
a->lo < b->loDescription
TRUEnever evaluated
FALSEnever evaluated
? -1 : 1;
never executed: return a->lo < b->lo ? -1 : 1;
0
156}-
157-
158static int-
159key_id_cmp(struct revoked_key_id *a, struct revoked_key_id *b)-
160{-
161 return
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
162 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
163 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
164 ) && __builtin_constant_p (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
165 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
166 ) && (__s1_len = __builtin_strlen (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
167 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
168 ), __s2_len = __builtin_strlen (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
169 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
170 ), (!((size_t)(const void *)((
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
171 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
172 ) + 1) - (size_t)(const void *)(
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
173 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
174 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
175 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
176 ) + 1) - (size_t)(const void *)(
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
177 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
178 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
179 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
180 ,
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
181 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
182 ) : (__builtin_constant_p (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
183 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
184 ) && ((size_t)(const void *)((
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
185 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
186 ) + 1) - (size_t)(const void *)(
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
187 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
188 ) == 1) && (__s1_len = __builtin_strlen (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
189 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
190 ), __s1_len < 4) ? (__builtin_constant_p (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
191 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
192 ) && ((size_t)(const void *)((
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
193 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
194 ) + 1) - (size_t)(const void *)(
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
195 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
196 ) == 1) ? __builtin_strcmp (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
197 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
198 ,
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
199 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
200 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
201 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
202 ); int __result = (((const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
203 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
204 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
205 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
206 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
207 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
208 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( a->key_id ))[3] - __s2[3]);
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
209 a->key_id
never executed: __result = (((const unsigned char *) (const char *) ( a->key_id ))[3] - __s2[3]);
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
210 ))[3] - __s2[3]);
never executed: __result = (((const unsigned char *) (const char *) ( a->key_id ))[3] - __s2[3]);
}
never executed: end of block
}
never executed: end of block
__result; }))) : (__builtin_constant_p (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
211 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
212 ) && ((size_t)(const void *)((
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
213 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
214 ) + 1) - (size_t)(const void *)(
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
215 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
216 ) == 1) && (__s2_len = __builtin_strlen (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
217 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
218 ), __s2_len < 4) ? (__builtin_constant_p (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
219 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
220 ) && ((size_t)(const void *)((
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
221 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
222 ) + 1) - (size_t)(const void *)(
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
223 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
224 ) == 1) ? __builtin_strcmp (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
225 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
226 ,
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
227 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
228 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
229 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
230 ); int __result = (((const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
231 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
232 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
233 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
234 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
235 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
236 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]);
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
237 b->key_id
never executed: __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]);
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
238 ))[3] - __s2[3]);
never executed: __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]);
}
never executed: end of block
}
never executed: end of block
__result; }))) : __builtin_strcmp (
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
239 a->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
240 ,
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
241 b->key_id
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
242 )))); })
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
243 ;
never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->key_id ) && __builtin_constant_p ( b->key_id ) && (__s1_len = __builtin_strlen ( a->key_id ), __s2_len = __builtin_strlen ( b->key_id ), (!((size_t)(const void *)(( a->key_id ) ...nst unsigned char *) (const char *) ( b->key_id ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->key_id ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->key_id , b->key_id )))); }) ;
0
244}-
245-
246static int-
247blob_cmp(struct revoked_blob *a, struct revoked_blob *b)-
248{-
249 int r;-
250-
251 if (a->len != b->len
a->len != b->lenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
252 if ((
(r = memcmp(a-...->len)))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = memcmp(a->blob, b->blob, (((a->len) < (b->len)) ? (a->len) : (b->len)))) != 0
(r = memcmp(a-...->len)))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
253 return
never executed: return r;
r;
never executed: return r;
0
254 return
never executed: return a->len > b->len ? 1 : -1;
a->len > b->len
a->len > b->lenDescription
TRUEnever evaluated
FALSEnever evaluated
? 1 : -1;
never executed: return a->len > b->len ? 1 : -1;
0
255 } else-
256 return
never executed: return memcmp(a->blob, b->blob, a->len);
memcmp(a->blob, b->blob, a->len);
never executed: return memcmp(a->blob, b->blob, a->len);
0
257}-
258-
259struct ssh_krl *-
260ssh_krl_init(void)-
261{-
262 struct ssh_krl *krl;-
263-
264 if ((
(krl = calloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
krl = calloc(1, sizeof(*krl))) ==
(krl = calloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
265 ((void *)0)
(krl = calloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
266 )-
267 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
268 ((void *)0)
never executed: return ((void *)0) ;
0
269 ;
never executed: return ((void *)0) ;
0
270 do { (&krl->revoked_keys)->rbh_root = -
271((void *)0)-
272; } while (0);-
273 do { (&krl->revoked_sha1s)->rbh_root = -
274((void *)0)-
275; } while (0);-
276 do { (&krl->revoked_sha256s)->rbh_root = -
277((void *)0)-
278; } while (0);-
279 do { (&krl->revoked_certs)->tqh_first = -
280((void *)0)-
281; (&krl->revoked_certs)->tqh_last = &(&krl->revoked_certs)->tqh_first; } while (0);-
282 return
never executed: return krl;
krl;
never executed: return krl;
0
283}-
284-
285static void-
286revoked_certs_free(struct revoked_certs *rc)-
287{-
288 struct revoked_serial *rs, *trs;-
289 struct revoked_key_id *rki, *trki;-
290-
291 for ((rs) = revoked_serial_tree_RB_MINMAX(&rc->revoked_serials, -1); ((
((rs) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
rs) !=
((rs) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
292((
((rs) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
((rs) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
((rs) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
293)
((rs) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((trs) = revoked_serial_tree_RB_NEXT(rs), 1); (rs) = (trs)) {
0
294 revoked_serial_tree_RB_REMOVE(&rc->revoked_serials, rs);-
295 free(rs);-
296 }
never executed: end of block
0
297 for ((rki) = revoked_key_id_tree_RB_MINMAX(&rc->revoked_key_ids, -1); ((
((rki) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
rki) !=
((rki) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
298((
((rki) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
((rki) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
((rki) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
299)
((rki) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((trki) = revoked_key_id_tree_RB_NEXT(rki), 1); (rki) = (trki)) {
0
300 revoked_key_id_tree_RB_REMOVE(&rc->revoked_key_ids, rki);-
301 free(rki->key_id);-
302 free(rki);-
303 }
never executed: end of block
0
304 sshkey_free(rc->ca_key);-
305}
never executed: end of block
0
306-
307void-
308ssh_krl_free(struct ssh_krl *krl)-
309{-
310 struct revoked_blob *rb, *trb;-
311 struct revoked_certs *rc, *trc;-
312-
313 if (krl ==
krl == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
314 ((void *)0)
krl == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
315 )-
316 return;
never executed: return;
0
317-
318 free(krl->comment);-
319 for ((rb) = revoked_blob_tree_RB_MINMAX(&krl->revoked_keys, -1); ((
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
rb) !=
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
320((
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
321)
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((trb) = revoked_blob_tree_RB_NEXT(rb), 1); (rb) = (trb)) {
0
322 revoked_blob_tree_RB_REMOVE(&krl->revoked_keys, rb);-
323 free(rb->blob);-
324 free(rb);-
325 }
never executed: end of block
0
326 for ((rb) = revoked_blob_tree_RB_MINMAX(&krl->revoked_sha1s, -1); ((
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
rb) !=
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
327((
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
328)
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((trb) = revoked_blob_tree_RB_NEXT(rb), 1); (rb) = (trb)) {
0
329 revoked_blob_tree_RB_REMOVE(&krl->revoked_sha1s, rb);-
330 free(rb->blob);-
331 free(rb);-
332 }
never executed: end of block
0
333 for ((rb) = revoked_blob_tree_RB_MINMAX(&krl->revoked_sha256s, -1); ((
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
rb) !=
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
334((
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
335)
((rb) != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((trb) = revoked_blob_tree_RB_NEXT(rb), 1); (rb) = (trb)) {
0
336 revoked_blob_tree_RB_REMOVE(&krl->revoked_sha256s, rb);-
337 free(rb->blob);-
338 free(rb);-
339 }
never executed: end of block
0
340 for ((rc) = ((&krl->revoked_certs)->tqh_first); (
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rc) !=
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
341((
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
342&& ((trc) = ((rc)->entry.tqe_next), 1); (rc) = (trc)) {-
343 do { if (((
((rc)->entry.t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rc)->entry.tqe_next) !=
((rc)->entry.t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
344 ((void *)0)
((rc)->entry.t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
345 ) (
never executed: (rc)->entry.tqe_next->entry.tqe_prev = (rc)->entry.tqe_prev;
rc)->entry.tqe_next->entry.tqe_prev = (rc)->entry.tqe_prev;
never executed: (rc)->entry.tqe_next->entry.tqe_prev = (rc)->entry.tqe_prev;
else (
never executed: (&krl->revoked_certs)->tqh_last = (rc)->entry.tqe_prev;
&krl->revoked_certs)->tqh_last = (rc)->entry.tqe_prev;
never executed: (&krl->revoked_certs)->tqh_last = (rc)->entry.tqe_prev;
*(rc)->entry.tqe_prev = (rc)->entry.tqe_next; ; ; } while (0);
0
346 revoked_certs_free(rc);-
347 }
never executed: end of block
0
348}
never executed: end of block
0
349-
350void-
351ssh_krl_set_version(struct ssh_krl *krl, u_int64_t version)-
352{-
353 krl->krl_version = version;-
354}
never executed: end of block
0
355-
356int-
357ssh_krl_set_comment(struct ssh_krl *krl, const char *comment)-
358{-
359 free(krl->comment);-
360 if ((
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
krl->comment =
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
361 (__extension__ (__builtin_constant_p (
__builtin_cons..._p ( comment )Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
362 comment
__builtin_cons..._p ( comment )Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
363 )
__builtin_cons..._p ( comment )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...omment ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...omment ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
364 comment
((size_t)(cons...omment ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
365 ) + 1) - (size_t)(const void *)(
((size_t)(cons...omment ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
366 comment
((size_t)(cons...omment ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
367 ) == 1)
((size_t)(cons...omment ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
368 comment
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
369 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
370 comment
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
371 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, comment , __len);
0
372 comment
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __retval = (char *) memcpy (__retval, comment , __len);
0
373 , __len); __retval; })) : __strdup (
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
374 comment
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
375 )))
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
376 ) ==
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
377 ((void *)0)
(krl->comment ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
378 )-
379 return
never executed: return -2;
-2;
never executed: return -2;
0
380 return
never executed: return 0;
0;
never executed: return 0;
0
381}-
382-
383-
384-
385-
386-
387static int-
388revoked_certs_for_ca_key(struct ssh_krl *krl, const struct sshkey *ca_key,-
389 struct revoked_certs **rcp, int allow_create)-
390{-
391 struct revoked_certs *rc;-
392 int r;-
393-
394 *rcp = -
395 ((void *)0)-
396 ;-
397 for((rc) = ((&krl->revoked_certs)->tqh_first); (
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rc) !=
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
398((
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
399; (rc) = ((rc)->entry.tqe_next)) {-
400 if ((ca_key ==
ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
401 ((void *)0)
ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
402 && rc->ca_key ==
rc->ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
403 ((void *)0)
rc->ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
404 ) ||-
405 sshkey_equal(rc->ca_key, ca_key)
sshkey_equal(r...a_key, ca_key)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
406 *rcp = rc;-
407 return
never executed: return 0;
0;
never executed: return 0;
0
408 }-
409 }
never executed: end of block
0
410 if (!allow_create
!allow_createDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
411 return
never executed: return 0;
0;
never executed: return 0;
0
412-
413 if ((
(rc = calloc(1...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rc = calloc(1, sizeof(*rc))) ==
(rc = calloc(1...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
414 ((void *)0)
(rc = calloc(1...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
415 )-
416 return
never executed: return -2;
-2;
never executed: return -2;
0
417 if (ca_key ==
ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
418 ((void *)0)
ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
419 )-
420 rc->ca_key =
never executed: rc->ca_key = ((void *)0) ;
0
421 ((void *)0)
never executed: rc->ca_key = ((void *)0) ;
0
422 ;
never executed: rc->ca_key = ((void *)0) ;
0
423 else if ((
(r = sshkey_fr...>ca_key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_from_private(ca_key, &rc->ca_key)) != 0
(r = sshkey_fr...>ca_key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
424 free(rc);-
425 return
never executed: return r;
r;
never executed: return r;
0
426 }-
427 do { (&rc->revoked_serials)->rbh_root = -
428((void *)0)-
429; } while (0);-
430 do { (&rc->revoked_key_ids)->rbh_root = -
431((void *)0)-
432; } while (0);-
433 do { (rc)->entry.tqe_next = -
434((void *)0)-
435; (rc)->entry.tqe_prev = (&krl->revoked_certs)->tqh_last; *(&krl->revoked_certs)->tqh_last = (rc); (&krl->revoked_certs)->tqh_last = &(rc)->entry.tqe_next; } while (0);-
436-
437 ;-
438 *rcp = rc;-
439 return
never executed: return 0;
0;
never executed: return 0;
0
440}-
441-
442static int-
443insert_serial_range(struct revoked_serial_tree *rt, u_int64_t lo, u_int64_t hi)-
444{-
445 struct revoked_serial rs, *ers, *crs, *irs;-
446-
447 ;-
448 memset(&rs, 0, sizeof(rs));-
449 rs.lo = lo;-
450 rs.hi = hi;-
451 ers = revoked_serial_tree_RB_NFIND(rt, &rs);-
452 if (ers ==
ers == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
453 ((void *)0)
ers == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
454 || serial_cmp(ers, &rs) != 0
serial_cmp(ers, &rs) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
455-
456 if ((
(irs = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
irs = malloc(sizeof(rs))) ==
(irs = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
457 ((void *)0)
(irs = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
458 )-
459 return
never executed: return -2;
-2;
never executed: return -2;
0
460 memcpy(irs, &rs, sizeof(*irs));-
461 ers = revoked_serial_tree_RB_INSERT(rt, irs);-
462 if (ers !=
ers != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
463 ((void *)0)
ers != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
464 ) {-
465 ;-
466-
467 free(irs);-
468 return
never executed: return -1;
-1;
never executed: return -1;
0
469 }-
470 ers = irs;-
471 }
never executed: end of block
else {
0
472 -
473 ;-
474-
475-
476-
477-
478 if (ers->lo > lo
ers->lo > loDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
479 ers->lo = lo;
never executed: ers->lo = lo;
0
480 if (ers->hi < hi
ers->hi < hiDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
481 ers->hi = hi;
never executed: ers->hi = hi;
0
482 }
never executed: end of block
0
483-
484-
485-
486-
487-
488-
489-
490 while ((
(crs = revoked...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
crs = revoked_serial_tree_RB_PREV(ers)) !=
(crs = revoked...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
491 ((void *)0)
(crs = revoked...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
492 ) {-
493 ;-
494 if (ers->lo != 0
ers->lo != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& crs->hi < ers->lo - 1
crs->hi < ers->lo - 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
495 break;
never executed: break;
0
496-
497 if (crs->lo < ers->lo
crs->lo < ers->loDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
498 ers->lo = crs->lo;-
499 -
500 ;-
501 }
never executed: end of block
0
502 revoked_serial_tree_RB_REMOVE(rt, crs);-
503 free(crs);-
504 }
never executed: end of block
0
505-
506 while ((
(crs = revoked...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
crs = revoked_serial_tree_RB_NEXT(ers)) !=
(crs = revoked...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
507 ((void *)0)
(crs = revoked...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
508 ) {-
509 ;-
510 if (ers->hi != (u_int64_t)-1
ers->hi != (u_int64_t)-1Description
TRUEnever evaluated
FALSEnever evaluated
&& crs->lo > ers->hi + 1
crs->lo > ers->hi + 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
511 break;
never executed: break;
0
512-
513 if (crs->hi > ers->hi
crs->hi > ers->hiDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
514 ers->hi = crs->hi;-
515 -
516 ;-
517 }
never executed: end of block
0
518 revoked_serial_tree_RB_REMOVE(rt, crs);-
519 free(crs);-
520 }
never executed: end of block
0
521 ;-
522 return
never executed: return 0;
0;
never executed: return 0;
0
523}-
524-
525int-
526ssh_krl_revoke_cert_by_serial(struct ssh_krl *krl, const struct sshkey *ca_key,-
527 u_int64_t serial)-
528{-
529 return
never executed: return ssh_krl_revoke_cert_by_serial_range(krl, ca_key, serial, serial);
ssh_krl_revoke_cert_by_serial_range(krl, ca_key, serial, serial);
never executed: return ssh_krl_revoke_cert_by_serial_range(krl, ca_key, serial, serial);
0
530}-
531-
532int-
533ssh_krl_revoke_cert_by_serial_range(struct ssh_krl *krl,-
534 const struct sshkey *ca_key, u_int64_t lo, u_int64_t hi)-
535{-
536 struct revoked_certs *rc;-
537 int r;-
538-
539 if (lo > hi
lo > hiDescription
TRUEnever evaluated
FALSEnever evaluated
|| lo == 0
lo == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
540 return
never executed: return -10;
-10;
never executed: return -10;
0
541 if ((
(r = revoked_c... &rc, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = revoked_certs_for_ca_key(krl, ca_key, &rc, 1)) != 0
(r = revoked_c... &rc, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
542 return
never executed: return r;
r;
never executed: return r;
0
543 return
never executed: return insert_serial_range(&rc->revoked_serials, lo, hi);
insert_serial_range(&rc->revoked_serials, lo, hi);
never executed: return insert_serial_range(&rc->revoked_serials, lo, hi);
0
544}-
545-
546int-
547ssh_krl_revoke_cert_by_key_id(struct ssh_krl *krl, const struct sshkey *ca_key,-
548 const char *key_id)-
549{-
550 struct revoked_key_id *rki, *erki;-
551 struct revoked_certs *rc;-
552 int r;-
553-
554 if ((
(r = revoked_c... &rc, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = revoked_certs_for_ca_key(krl, ca_key, &rc, 1)) != 0
(r = revoked_c... &rc, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
555 return
never executed: return r;
r;
never executed: return r;
0
556-
557 ;-
558 if ((
(rki = calloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rki = calloc(1, sizeof(*rki))) ==
(rki = calloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
559 ((void *)0)
(rki = calloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
560 ||-
561 (
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rki->key_id =
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
562 (__extension__ (__builtin_constant_p (
__builtin_cons...t_p ( key_id )Description
TRUEnever evaluated
FALSEnever evaluated
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
563 key_id
__builtin_cons...t_p ( key_id )Description
TRUEnever evaluated
FALSEnever evaluated
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
564 )
__builtin_cons...t_p ( key_id )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...key_id ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...key_id ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
565 key_id
((size_t)(cons...key_id ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
566 ) + 1) - (size_t)(const void *)(
((size_t)(cons...key_id ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
567 key_id
((size_t)(cons...key_id ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
568 ) == 1)
((size_t)(cons...key_id ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
569 key_id
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
570 ))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
571 key_id
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
572 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, key_id , __len);
0
573 key_id
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __retval = (char *) memcpy (__retval, key_id , __len);
0
574 , __len); __retval; })) : __strdup (
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
575 key_id
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
576 )))
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
577 ) ==
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
578 ((void *)0)
(rki->key_id =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
579 ) {-
580 free(rki);-
581 return
never executed: return -2;
-2;
never executed: return -2;
0
582 }-
583 erki = revoked_key_id_tree_RB_INSERT(&rc->revoked_key_ids, rki);-
584 if (erki !=
erki != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
585 ((void *)0)
erki != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
586 ) {-
587 free(rki->key_id);-
588 free(rki);-
589 }
never executed: end of block
0
590 return
never executed: return 0;
0;
never executed: return 0;
0
591}-
592-
593-
594static int-
595plain_key_blob(const struct sshkey *key, u_char **blob, size_t *blen)-
596{-
597 struct sshkey *kcopy;-
598 int r;-
599-
600 if ((
(r = sshkey_fr... &kcopy)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_from_private(key, &kcopy)) != 0
(r = sshkey_fr... &kcopy)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
601 return
never executed: return r;
r;
never executed: return r;
0
602 if (sshkey_is_cert(kcopy)
sshkey_is_cert(kcopy)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
603 if ((
(r = sshkey_dr...t(kcopy)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_drop_cert(kcopy)) != 0
(r = sshkey_dr...t(kcopy)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
604 sshkey_free(kcopy);-
605 return
never executed: return r;
r;
never executed: return r;
0
606 }-
607 }
never executed: end of block
0
608 r = sshkey_to_blob(kcopy, blob, blen);-
609 sshkey_free(kcopy);-
610 return
never executed: return r;
r;
never executed: return r;
0
611}-
612-
613-
614static int-
615revoke_blob(struct revoked_blob_tree *rbt, u_char *blob, size_t len)-
616{-
617 struct revoked_blob *rb, *erb;-
618-
619 if ((
(rb = calloc(1...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rb = calloc(1, sizeof(*rb))) ==
(rb = calloc(1...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
620 ((void *)0)
(rb = calloc(1...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
621 )-
622 return
never executed: return -2;
-2;
never executed: return -2;
0
623 rb->blob = blob;-
624 rb->len = len;-
625 erb = revoked_blob_tree_RB_INSERT(rbt, rb);-
626 if (erb !=
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
627 ((void *)0)
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
628 ) {-
629 free(rb->blob);-
630 free(rb);-
631 }
never executed: end of block
0
632 return
never executed: return 0;
0;
never executed: return 0;
0
633}-
634-
635int-
636ssh_krl_revoke_key_explicit(struct ssh_krl *krl, const struct sshkey *key)-
637{-
638 u_char *blob;-
639 size_t len;-
640 int r;-
641-
642 debug3("%s: revoke type %s", __func__, sshkey_type(key));-
643 if ((
(r = plain_key...b, &len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = plain_key_blob(key, &blob, &len)) != 0
(r = plain_key...b, &len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
644 return
never executed: return r;
r;
never executed: return r;
0
645 return
never executed: return revoke_blob(&krl->revoked_keys, blob, len);
revoke_blob(&krl->revoked_keys, blob, len);
never executed: return revoke_blob(&krl->revoked_keys, blob, len);
0
646}-
647-
648static int-
649revoke_by_hash(struct revoked_blob_tree *target, const u_char *p, size_t len)-
650{-
651 u_char *blob;-
652 int r;-
653-
654-
655 if ((
(blob = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
blob = malloc(len)) ==
(blob = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
656 ((void *)0)
(blob = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
657 )-
658 return
never executed: return -24;
-24;
never executed: return -24;
0
659 memcpy(blob, p, len);-
660 if ((
(r = revoke_bl...ob, len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = revoke_blob(target, blob, len)) != 0
(r = revoke_bl...ob, len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
661 free(blob);-
662 return
never executed: return r;
r;
never executed: return r;
0
663 }-
664 return
never executed: return 0;
0;
never executed: return 0;
0
665}-
666-
667int-
668ssh_krl_revoke_key_sha1(struct ssh_krl *krl, const u_char *p, size_t len)-
669{-
670 debug3("%s: revoke by sha1", __func__);-
671 if (len != 20
len != 20Description
TRUEnever evaluated
FALSEnever evaluated
)
0
672 return
never executed: return -4;
-4;
never executed: return -4;
0
673 return
never executed: return revoke_by_hash(&krl->revoked_sha1s, p, len);
revoke_by_hash(&krl->revoked_sha1s, p, len);
never executed: return revoke_by_hash(&krl->revoked_sha1s, p, len);
0
674}-
675-
676int-
677ssh_krl_revoke_key_sha256(struct ssh_krl *krl, const u_char *p, size_t len)-
678{-
679 debug3("%s: revoke by sha256", __func__);-
680 if (len != 32
len != 32Description
TRUEnever evaluated
FALSEnever evaluated
)
0
681 return
never executed: return -4;
-4;
never executed: return -4;
0
682 return
never executed: return revoke_by_hash(&krl->revoked_sha256s, p, len);
revoke_by_hash(&krl->revoked_sha256s, p, len);
never executed: return revoke_by_hash(&krl->revoked_sha256s, p, len);
0
683}-
684-
685int-
686ssh_krl_revoke_key(struct ssh_krl *krl, const struct sshkey *key)-
687{-
688-
689 if (!sshkey_is_cert(key)
!sshkey_is_cert(key)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
690 return
never executed: return ssh_krl_revoke_key_explicit(krl, key);
ssh_krl_revoke_key_explicit(krl, key);
never executed: return ssh_krl_revoke_key_explicit(krl, key);
0
691-
692 if (key->cert->serial == 0
key->cert->serial == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
693 return
never executed: return ssh_krl_revoke_cert_by_key_id(krl, key->cert->signature_key, key->cert->key_id);
ssh_krl_revoke_cert_by_key_id(krl,
never executed: return ssh_krl_revoke_cert_by_key_id(krl, key->cert->signature_key, key->cert->key_id);
0
694 key->cert->signature_key,
never executed: return ssh_krl_revoke_cert_by_key_id(krl, key->cert->signature_key, key->cert->key_id);
0
695 key->cert->key_id);
never executed: return ssh_krl_revoke_cert_by_key_id(krl, key->cert->signature_key, key->cert->key_id);
0
696 } else {-
697 return
never executed: return ssh_krl_revoke_cert_by_serial(krl, key->cert->signature_key, key->cert->serial);
ssh_krl_revoke_cert_by_serial(krl,
never executed: return ssh_krl_revoke_cert_by_serial(krl, key->cert->signature_key, key->cert->serial);
0
698 key->cert->signature_key,
never executed: return ssh_krl_revoke_cert_by_serial(krl, key->cert->signature_key, key->cert->serial);
0
699 key->cert->serial);
never executed: return ssh_krl_revoke_cert_by_serial(krl, key->cert->signature_key, key->cert->serial);
0
700 }-
701}-
702static int-
703choose_next_state(int current_state, u_int64_t contig, int final,-
704 u_int64_t last_gap, u_int64_t next_gap, int *force_new_section)-
705{-
706 int new_state;-
707 u_int64_t cost, cost_list, cost_range, cost_bitmap, cost_bitmap_restart;-
708-
709-
710-
711-
712-
713 contig = (((
((contig) < (1ULL<<31))Description
TRUEnever evaluated
FALSEnever evaluated
contig) < (1ULL<<31))
((contig) < (1ULL<<31))Description
TRUEnever evaluated
FALSEnever evaluated
? (contig) : (1ULL<<31));
0
714 last_gap = (((
((last_gap) < (1ULL<<31))Description
TRUEnever evaluated
FALSEnever evaluated
last_gap) < (1ULL<<31))
((last_gap) < (1ULL<<31))Description
TRUEnever evaluated
FALSEnever evaluated
? (last_gap) : (1ULL<<31));
0
715 next_gap = (((
((next_gap) < (1ULL<<31))Description
TRUEnever evaluated
FALSEnever evaluated
next_gap) < (1ULL<<31))
((next_gap) < (1ULL<<31))Description
TRUEnever evaluated
FALSEnever evaluated
? (next_gap) : (1ULL<<31));
0
716-
717-
718-
719-
720-
721-
722 cost_list = cost_bitmap = cost_bitmap_restart = 0;-
723 cost_range = 8;-
724 switch (current_state) {-
725 case
never executed: case 0x20:
0x20:
never executed: case 0x20:
0
726 cost_bitmap_restart = cost_bitmap = 8 + 64;-
727 break;
never executed: break;
0
728 case
never executed: case 0x22:
0x22:
never executed: case 0x22:
0
729 cost_list = 8;-
730 cost_bitmap_restart = 8 + 64;-
731 break;
never executed: break;
0
732 case
never executed: case 0x21:
0x21:
never executed: case 0x21:
0
733 case
never executed: case 0:
0:
never executed: case 0:
0
734 cost_bitmap_restart = cost_bitmap = 8 + 64;-
735 cost_list = 8;-
736 }
never executed: end of block
0
737-
738-
739 cost_list += 64 * contig + (final
finalDescription
TRUEnever evaluated
FALSEnever evaluated
? 0 : 8+64);
0
740 cost_range += (2 * 64) + (final
finalDescription
TRUEnever evaluated
FALSEnever evaluated
? 0 : 8+64);
0
741 cost_bitmap += last_gap + contig + (final
finalDescription
TRUEnever evaluated
FALSEnever evaluated
? 0 : (((
((next_gap) < (8+64))Description
TRUEnever evaluated
FALSEnever evaluated
next_gap) < (8+64))
((next_gap) < (8+64))Description
TRUEnever evaluated
FALSEnever evaluated
? (next_gap) : (8+64)));
0
742 cost_bitmap_restart += contig + (final
finalDescription
TRUEnever evaluated
FALSEnever evaluated
? 0 : (((
((next_gap) < (8+64))Description
TRUEnever evaluated
FALSEnever evaluated
next_gap) < (8+64))
((next_gap) < (8+64))Description
TRUEnever evaluated
FALSEnever evaluated
? (next_gap) : (8+64)));
0
743-
744-
745 cost_list = (cost_list + 7) / 8;-
746 cost_bitmap = (cost_bitmap + 7) / 8;-
747 cost_bitmap_restart = (cost_bitmap_restart + 7) / 8;-
748 cost_range = (cost_range + 7) / 8;-
749-
750-
751 *force_new_section = 0;-
752 new_state = 0x22;-
753 cost = cost_bitmap;-
754 if (cost_range < cost
cost_range < costDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
755 new_state = 0x21;-
756 cost = cost_range;-
757 }
never executed: end of block
0
758 if (cost_list < cost
cost_list < costDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
759 new_state = 0x20;-
760 cost = cost_list;-
761 }
never executed: end of block
0
762 if (cost_bitmap_restart < cost
cost_bitmap_restart < costDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
763 new_state = 0x22;-
764 *force_new_section = 1;-
765 cost = cost_bitmap_restart;-
766 }
never executed: end of block
0
767-
768-
769-
770-
771-
772-
773-
774 ;-
775 return
never executed: return new_state;
new_state;
never executed: return new_state;
0
776}-
777-
778static int-
779put_bitmap(struct sshbuf *buf, struct bitmap *bitmap)-
780{-
781 size_t len;-
782 u_char *blob;-
783 int r;-
784-
785 len = bitmap_nbytes(bitmap);-
786 if ((
(blob = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
blob = malloc(len)) ==
(blob = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
787 ((void *)0)
(blob = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
788 )-
789 return
never executed: return -2;
-2;
never executed: return -2;
0
790 if (bitmap_to_string(bitmap, blob, len) != 0
bitmap_to_stri...lob, len) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
791 free(blob);-
792 return
never executed: return -1;
-1;
never executed: return -1;
0
793 }-
794 r = sshbuf_put_bignum2_bytes(buf, blob, len);-
795 free(blob);-
796 return
never executed: return r;
r;
never executed: return r;
0
797}-
798-
799-
800static int-
801revoked_certs_generate(struct revoked_certs *rc, struct sshbuf *buf)-
802{-
803 int final, force_new_sect, r = -1;-
804 u_int64_t i, contig, gap, last = 0, bitmap_start = 0;-
805 struct revoked_serial *rs, *nrs;-
806 struct revoked_key_id *rki;-
807 int next_state, state = 0;-
808 struct sshbuf *sect;-
809 struct bitmap *bitmap = -
810 ((void *)0)-
811 ;-
812-
813 if ((
(sect = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
sect = sshbuf_new()) ==
(sect = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
814 ((void *)0)
(sect = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
815 )-
816 return
never executed: return -2;
-2;
never executed: return -2;
0
817-
818-
819 if (rc->ca_key ==
rc->ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
820 ((void *)0)
rc->ca_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
821 ) {-
822 if ((
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(buf,
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
823 ((void *)0)
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
824 , 0)) != 0
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
825 goto
never executed: goto out;
out;
never executed: goto out;
0
826 }
never executed: end of block
else {
0
827 if ((
(r = sshkey_pu...ey, buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_puts(rc->ca_key, buf)) != 0
(r = sshkey_pu...ey, buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
828 goto
never executed: goto out;
out;
never executed: goto out;
0
829 }
never executed: end of block
0
830 if ((
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(buf,
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
831 ((void *)0)
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
832 , 0)) != 0
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
833 goto
never executed: goto out;
out;
never executed: goto out;
0
834-
835-
836 for (rs = revoked_serial_tree_RB_MINMAX(&rc->revoked_serials, -1);-
837 rs !=
rs != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
838 ((void *)0)
rs != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
839 ;-
840 rs = revoked_serial_tree_RB_NEXT(rs)) {-
841 -
842-
843 ;-
844-
845-
846 nrs = revoked_serial_tree_RB_NEXT(rs);-
847 final = nrs == -
848 ((void *)0)-
849 ;-
850 gap = nrs ==
nrs == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
851 ((void *)0)
nrs == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
852 ? 0 : nrs->lo - rs->hi;-
853 contig = 1 + (rs->hi - rs->lo);-
854-
855-
856 next_state = choose_next_state(state, contig, final,-
857 state == 0 ? 0 : rs->lo - last, gap, &force_new_sect);-
858-
859-
860-
861-
862-
863 if (state != 0
state != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& (force_new_sect
force_new_sectDescription
TRUEnever evaluated
FALSEnever evaluated
|| next_state != state
next_state != stateDescription
TRUEnever evaluated
FALSEnever evaluated
||
0
864 state == 0x21
state == 0x21Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
865 ;-
866 switch (state) {-
867 case
never executed: case 0x20:
0x20:
never executed: case 0x20:
0
868 case
never executed: case 0x21:
0x21:
never executed: case 0x21:
0
869 break;
never executed: break;
0
870 case
never executed: case 0x22:
0x22:
never executed: case 0x22:
0
871 if ((
(r = put_bitma... bitmap)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = put_bitmap(sect, bitmap)) != 0
(r = put_bitma... bitmap)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
872 goto
never executed: goto out;
out;
never executed: goto out;
0
873 bitmap_free(bitmap);-
874 bitmap = -
875 ((void *)0)-
876 ;-
877 break;
never executed: break;
0
878 }-
879 if ((
(r = sshbuf_pu..., state)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf, state)) != 0
(r = sshbuf_pu..., state)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
880 (
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(buf, sect)) != 0
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
881 goto
never executed: goto out;
out;
never executed: goto out;
0
882 sshbuf_reset(sect);-
883 }
never executed: end of block
0
884-
885-
886 if (next_state != state
next_state != stateDescription
TRUEnever evaluated
FALSEnever evaluated
|| force_new_sect
force_new_sectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
887 -
888 ;-
889 state = next_state;-
890 sshbuf_reset(sect);-
891 switch (state) {-
892 case
never executed: case 0x20:
0x20:
never executed: case 0x20:
0
893 case
never executed: case 0x21:
0x21:
never executed: case 0x21:
0
894 break;
never executed: break;
0
895 case
never executed: case 0x22:
0x22:
never executed: case 0x22:
0
896 if ((
(bitmap = bitm...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
bitmap = bitmap_new()) ==
(bitmap = bitm...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
897 ((void *)0)
(bitmap = bitm...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
898 ) {-
899 r = -2;-
900 goto
never executed: goto out;
out;
never executed: goto out;
0
901 }-
902 bitmap_start = rs->lo;-
903 if ((
(r = sshbuf_pu...p_start)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u64(sect,
(r = sshbuf_pu...p_start)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
904 bitmap_start)) != 0
(r = sshbuf_pu...p_start)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
905 goto
never executed: goto out;
out;
never executed: goto out;
0
906 break;
never executed: break;
0
907 }-
908 }
never executed: end of block
0
909-
910-
911 switch (state) {-
912 case
never executed: case 0x20:
0x20:
never executed: case 0x20:
0
913 for (i = 0; i < contig
i < contigDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
914 if ((
(r = sshbuf_pu...>lo + i)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u64(sect, rs->lo + i)) != 0
(r = sshbuf_pu...>lo + i)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
915 goto
never executed: goto out;
out;
never executed: goto out;
0
916 }
never executed: end of block
0
917 break;
never executed: break;
0
918 case
never executed: case 0x21:
0x21:
never executed: case 0x21:
0
919 if ((
(r = sshbuf_pu... rs->lo)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u64(sect, rs->lo)) != 0
(r = sshbuf_pu... rs->lo)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
920 (
(r = sshbuf_pu... rs->hi)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u64(sect, rs->hi)) != 0
(r = sshbuf_pu... rs->hi)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
921 goto
never executed: goto out;
out;
never executed: goto out;
0
922 break;
never executed: break;
0
923 case
never executed: case 0x22:
0x22:
never executed: case 0x22:
0
924 if (rs->lo - bitmap_start > 0x7fffffff
rs->lo - bitma...t > 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
925 error("%s: insane bitmap gap", __func__);-
926 goto
never executed: goto out;
out;
never executed: goto out;
0
927 }-
928 for (i = 0; i < contig
i < contigDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
929 if (bitmap_set_bit(bitmap,
bitmap_set_bit...ap_start) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
930 rs->lo + i - bitmap_start) != 0
bitmap_set_bit...ap_start) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
931 r = -2;-
932 goto
never executed: goto out;
out;
never executed: goto out;
0
933 }-
934 }
never executed: end of block
0
935 break;
never executed: break;
0
936 }-
937 last = rs->hi;-
938 }
never executed: end of block
0
939-
940 if (state != 0
state != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
941 -
942 ;-
943 switch (state) {-
944 case
never executed: case 0x20:
0x20:
never executed: case 0x20:
0
945 case
never executed: case 0x21:
0x21:
never executed: case 0x21:
0
946 break;
never executed: break;
0
947 case
never executed: case 0x22:
0x22:
never executed: case 0x22:
0
948 if ((
(r = put_bitma... bitmap)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = put_bitmap(sect, bitmap)) != 0
(r = put_bitma... bitmap)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
949 goto
never executed: goto out;
out;
never executed: goto out;
0
950 bitmap_free(bitmap);-
951 bitmap = -
952 ((void *)0)-
953 ;-
954 break;
never executed: break;
0
955 }-
956 if ((
(r = sshbuf_pu..., state)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf, state)) != 0
(r = sshbuf_pu..., state)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
957 (
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(buf, sect)) != 0
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
958 goto
never executed: goto out;
out;
never executed: goto out;
0
959 }
never executed: end of block
0
960 ;-
961-
962-
963 sshbuf_reset(sect);-
964 for ((rki) = revoked_key_id_tree_RB_MINMAX(&rc->revoked_key_ids, -1); (
(rki) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rki) !=
(rki) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
965((
(rki) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(rki) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(rki) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
966; (rki) = revoked_key_id_tree_RB_NEXT(rki)) {-
967 ;-
968 if ((
(r = sshbuf_pu...>key_id)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_cstring(sect, rki->key_id)) != 0
(r = sshbuf_pu...>key_id)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
969 goto
never executed: goto out;
out;
never executed: goto out;
0
970 }
never executed: end of block
0
971 if (sshbuf_len(sect) != 0
sshbuf_len(sect) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
972 if ((
(r = sshbuf_pu...f, 0x23)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf, 0x23)) != 0
(r = sshbuf_pu...f, 0x23)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
973 (
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(buf, sect)) != 0
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
974 goto
never executed: goto out;
out;
never executed: goto out;
0
975 }
never executed: end of block
0
976 r = 0;-
977 out:
code before this statement never executed: out:
0
978 bitmap_free(bitmap);-
979 sshbuf_free(sect);-
980 return
never executed: return r;
r;
never executed: return r;
0
981}-
982-
983int-
984ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf,-
985 const struct sshkey **sign_keys, u_int nsign_keys)-
986{-
987 int r = -1;-
988 struct revoked_certs *rc;-
989 struct revoked_blob *rb;-
990 struct sshbuf *sect;-
991 u_char *sblob = -
992 ((void *)0)-
993 ;-
994 size_t slen, i;-
995-
996 if (krl->generated_date == 0
krl->generated_date == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
997 krl->generated_date = time(
never executed: krl->generated_date = time( ((void *)0) );
0
998 ((void *)0)
never executed: krl->generated_date = time( ((void *)0) );
0
999 );
never executed: krl->generated_date = time( ((void *)0) );
0
1000-
1001 if ((
(sect = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
sect = sshbuf_new()) ==
(sect = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1002 ((void *)0)
(sect = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1003 )-
1004 return
never executed: return -2;
-2;
never executed: return -2;
0
1005-
1006-
1007 if ((
(r = sshbuf_pu...0") - 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put(buf, "SSHKRL\n\0", sizeof("SSHKRL\n\0") - 1)) != 0
(r = sshbuf_pu...0") - 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1008 (
(r = sshbuf_pu...(buf, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u32(buf, 1)) != 0
(r = sshbuf_pu...(buf, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1009 (
(r = sshbuf_pu...version)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u64(buf, krl->krl_version)) != 0
(r = sshbuf_pu...version)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1010 (
(r = sshbuf_pu...ed_date)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u64(buf, krl->generated_date)) != 0
(r = sshbuf_pu...ed_date)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1011 (
(r = sshbuf_pu...->flags)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u64(buf, krl->flags)) != 0
(r = sshbuf_pu...->flags)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1012 (
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(buf,
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1013 ((void *)0)
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1014 , 0)) != 0
(r = sshbuf_pu...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1015 (
(r = sshbuf_pu...comment)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_cstring(buf, krl->comment)) != 0
(r = sshbuf_pu...comment)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1016 goto
never executed: goto out;
out;
never executed: goto out;
0
1017-
1018-
1019 for((rc) = ((&krl->revoked_certs)->tqh_first); (
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rc) !=
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1020((
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(rc) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1021; (rc) = ((rc)->entry.tqe_next)) {-
1022 sshbuf_reset(sect);-
1023 if ((
(r = revoked_c...c, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = revoked_certs_generate(rc, sect)) != 0
(r = revoked_c...c, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1024 goto
never executed: goto out;
out;
never executed: goto out;
0
1025 if ((
(r = sshbuf_pu...(buf, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf, 1)) != 0
(r = sshbuf_pu...(buf, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1026 (
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(buf, sect)) != 0
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1027 goto
never executed: goto out;
out;
never executed: goto out;
0
1028 }
never executed: end of block
0
1029-
1030-
1031 sshbuf_reset(sect);-
1032 for ((rb) = revoked_blob_tree_RB_MINMAX(&krl->revoked_keys, -1); (
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rb) !=
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1033((
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1034; (rb) = revoked_blob_tree_RB_NEXT(rb)) {-
1035 ;-
1036 if ((
(r = sshbuf_pu...rb->len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(sect, rb->blob, rb->len)) != 0
(r = sshbuf_pu...rb->len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1037 goto
never executed: goto out;
out;
never executed: goto out;
0
1038 }
never executed: end of block
0
1039 if (sshbuf_len(sect) != 0
sshbuf_len(sect) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1040 if ((
(r = sshbuf_pu...(buf, 2)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf, 2)) != 0
(r = sshbuf_pu...(buf, 2)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1041 (
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(buf, sect)) != 0
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1042 goto
never executed: goto out;
out;
never executed: goto out;
0
1043 }
never executed: end of block
0
1044 sshbuf_reset(sect);-
1045 for ((rb) = revoked_blob_tree_RB_MINMAX(&krl->revoked_sha1s, -1); (
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rb) !=
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1046((
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1047; (rb) = revoked_blob_tree_RB_NEXT(rb)) {-
1048 ;-
1049 if ((
(r = sshbuf_pu...rb->len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(sect, rb->blob, rb->len)) != 0
(r = sshbuf_pu...rb->len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1050 goto
never executed: goto out;
out;
never executed: goto out;
0
1051 }
never executed: end of block
0
1052 if (sshbuf_len(sect) != 0
sshbuf_len(sect) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1053 if ((
(r = sshbuf_pu...(buf, 3)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf,
(r = sshbuf_pu...(buf, 3)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1054 3)) != 0
(r = sshbuf_pu...(buf, 3)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1055 (
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(buf, sect)) != 0
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1056 goto
never executed: goto out;
out;
never executed: goto out;
0
1057 }
never executed: end of block
0
1058 sshbuf_reset(sect);-
1059 for ((rb) = revoked_blob_tree_RB_MINMAX(&krl->revoked_sha256s, -1); (
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rb) !=
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1060((
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
void *)0)
(rb) != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1061; (rb) = revoked_blob_tree_RB_NEXT(rb)) {-
1062 ;-
1063 if ((
(r = sshbuf_pu...rb->len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(sect, rb->blob, rb->len)) != 0
(r = sshbuf_pu...rb->len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1064 goto
never executed: goto out;
out;
never executed: goto out;
0
1065 }
never executed: end of block
0
1066 if (sshbuf_len(sect) != 0
sshbuf_len(sect) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1067 if ((
(r = sshbuf_pu...(buf, 5)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf,
(r = sshbuf_pu...(buf, 5)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1068 5)) != 0
(r = sshbuf_pu...(buf, 5)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1069 (
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(buf, sect)) != 0
(r = sshbuf_pu...f, sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1070 goto
never executed: goto out;
out;
never executed: goto out;
0
1071 }
never executed: end of block
0
1072-
1073 for (i = 0; i < nsign_keys
i < nsign_keysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1074 -
1075 ;-
1076 if ((
(r = sshbuf_pu...(buf, 4)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(buf, 4)) != 0
(r = sshbuf_pu...(buf, 4)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1077 (
(r = sshkey_pu...i], buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_puts(sign_keys[i], buf)) != 0
(r = sshkey_pu...i], buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1078 goto
never executed: goto out;
out;
never executed: goto out;
0
1079-
1080 if ((
(r = sshkey_si...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_sign(sign_keys[i], &sblob, &slen,
(r = sshkey_si...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1081 sshbuf_ptr(buf), sshbuf_len(buf),
(r = sshkey_si...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1082 ((void *)0)
(r = sshkey_si...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1083 , 0)) != 0
(r = sshkey_si...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1084 goto
never executed: goto out;
out;
never executed: goto out;
0
1085 ;-
1086 if ((
(r = sshbuf_pu...b, slen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(buf, sblob, slen)) != 0
(r = sshbuf_pu...b, slen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1087 goto
never executed: goto out;
out;
never executed: goto out;
0
1088 }
never executed: end of block
0
1089-
1090 r = 0;-
1091 out:
code before this statement never executed: out:
0
1092 free(sblob);-
1093 sshbuf_free(sect);-
1094 return
never executed: return r;
r;
never executed: return r;
0
1095}-
1096-
1097static void-
1098format_timestamp(u_int64_t timestamp, char *ts, size_t nts)-
1099{-
1100 time_t t;-
1101 struct tm *tm;-
1102-
1103 t = timestamp;-
1104 tm = localtime(&t);-
1105 if (tm ==
tm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1106 ((void *)0)
tm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1107 )-
1108 strlcpy(ts, "<INVALID>", nts);
never executed: strlcpy(ts, "<INVALID>", nts);
0
1109 else {-
1110 *ts = '\0';-
1111 strftime(ts, nts, "%Y%m%dT%H%M%S", tm);-
1112 }
never executed: end of block
0
1113}-
1114-
1115static int-
1116parse_revoked_certs(struct sshbuf *buf, struct ssh_krl *krl)-
1117{-
1118 int r = -1;-
1119 u_char type;-
1120 const u_char *blob;-
1121 size_t blen, nbits;-
1122 struct sshbuf *subsect = -
1123 ((void *)0)-
1124 ;-
1125 u_int64_t serial, serial_lo, serial_hi;-
1126 struct bitmap *bitmap = -
1127 ((void *)0)-
1128 ;-
1129 char *key_id = -
1130 ((void *)0)-
1131 ;-
1132 struct sshkey *ca_key = -
1133 ((void *)0)-
1134 ;-
1135-
1136 if ((
(subsect = ssh...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
subsect = sshbuf_new()) ==
(subsect = ssh...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1137 ((void *)0)
(subsect = ssh...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1138 )-
1139 return
never executed: return -2;
-2;
never executed: return -2;
0
1140-
1141-
1142 if ((
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string_direct(buf, &blob, &blen)) != 0
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1143 (
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string_direct(buf,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1144 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1145 ,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1146 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1147 )) != 0
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1148 goto
never executed: goto out;
out;
never executed: goto out;
0
1149 if (blen != 0
blen != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(r = sshkey_fr...&ca_key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_from_blob(blob, blen, &ca_key)) != 0
(r = sshkey_fr...&ca_key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1150 goto
never executed: goto out;
out;
never executed: goto out;
0
1151-
1152 while (sshbuf_len(buf) > 0
sshbuf_len(buf) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1153 sshbuf_free(subsect);-
1154 subsect = -
1155 ((void *)0)-
1156 ;-
1157 if ((
(r = sshbuf_ge..., &type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u8(buf, &type)) != 0
(r = sshbuf_ge..., &type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1158 (
(r = sshbuf_fr...subsect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_froms(buf, &subsect)) != 0
(r = sshbuf_fr...subsect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1159 goto
never executed: goto out;
out;
never executed: goto out;
0
1160 ;-
1161-
1162-
1163 switch (type) {-
1164 case
never executed: case 0x20:
0x20:
never executed: case 0x20:
0
1165 while (sshbuf_len(subsect) > 0
sshbuf_len(subsect) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1166 if ((
(r = sshbuf_ge...&serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u64(subsect, &serial)) != 0
(r = sshbuf_ge...&serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1167 goto
never executed: goto out;
out;
never executed: goto out;
0
1168 if ((
(r = ssh_krl_r... serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = ssh_krl_revoke_cert_by_serial(krl,
(r = ssh_krl_r... serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1169 ca_key, serial)) != 0
(r = ssh_krl_r... serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1170 goto
never executed: goto out;
out;
never executed: goto out;
0
1171 }
never executed: end of block
0
1172 break;
never executed: break;
0
1173 case
never executed: case 0x21:
0x21:
never executed: case 0x21:
0
1174 if ((
(r = sshbuf_ge...rial_lo)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u64(subsect, &serial_lo)) != 0
(r = sshbuf_ge...rial_lo)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1175 (
(r = sshbuf_ge...rial_hi)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u64(subsect, &serial_hi)) != 0
(r = sshbuf_ge...rial_hi)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1176 goto
never executed: goto out;
out;
never executed: goto out;
0
1177 if ((
(r = ssh_krl_r...rial_hi)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = ssh_krl_revoke_cert_by_serial_range(krl,
(r = ssh_krl_r...rial_hi)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1178 ca_key, serial_lo, serial_hi)) != 0
(r = ssh_krl_r...rial_hi)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1179 goto
never executed: goto out;
out;
never executed: goto out;
0
1180 break;
never executed: break;
0
1181 case
never executed: case 0x22:
0x22:
never executed: case 0x22:
0
1182 if ((
(bitmap = bitm...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
bitmap = bitmap_new()) ==
(bitmap = bitm...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1183 ((void *)0)
(bitmap = bitm...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1184 ) {-
1185 r = -2;-
1186 goto
never executed: goto out;
out;
never executed: goto out;
0
1187 }-
1188 if ((
(r = sshbuf_ge...rial_lo)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u64(subsect, &serial_lo)) != 0
(r = sshbuf_ge...rial_lo)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1189 (
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_bignum2_bytes_direct(subsect,
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1190 &blob, &blen)) != 0
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1191 goto
never executed: goto out;
out;
never executed: goto out;
0
1192 if (bitmap_from_string(bitmap, blob, blen) != 0
bitmap_from_st...ob, blen) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1193 r = -4;-
1194 goto
never executed: goto out;
out;
never executed: goto out;
0
1195 }-
1196 nbits = bitmap_nbits(bitmap);-
1197 for (serial = 0; serial < (u_int64_t)nbits
serial < (u_int64_t)nbitsDescription
TRUEnever evaluated
FALSEnever evaluated
; serial++) {
0
1198 if (serial > 0
serial > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& serial_lo + serial == 0
serial_lo + serial == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1199 error("%s: bitmap wraps u64", __func__);-
1200 r = -4;-
1201 goto
never executed: goto out;
out;
never executed: goto out;
0
1202 }-
1203 if (!bitmap_test_bit(bitmap, serial)
!bitmap_test_b...itmap, serial)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1204 continue;
never executed: continue;
0
1205 if ((
(r = ssh_krl_r... serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = ssh_krl_revoke_cert_by_serial(krl,
(r = ssh_krl_r... serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1206 ca_key, serial_lo + serial)) != 0
(r = ssh_krl_r... serial)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1207 goto
never executed: goto out;
out;
never executed: goto out;
0
1208 }
never executed: end of block
0
1209 bitmap_free(bitmap);-
1210 bitmap = -
1211 ((void *)0)-
1212 ;-
1213 break;
never executed: break;
0
1214 case
never executed: case 0x23:
0x23:
never executed: case 0x23:
0
1215 while (sshbuf_len(subsect) > 0
sshbuf_len(subsect) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1216 if ((
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_cstring(subsect,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1217 &key_id,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1218 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1219 )) != 0
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1220 goto
never executed: goto out;
out;
never executed: goto out;
0
1221 if ((
(r = ssh_krl_r... key_id)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = ssh_krl_revoke_cert_by_key_id(krl,
(r = ssh_krl_r... key_id)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1222 ca_key, key_id)) != 0
(r = ssh_krl_r... key_id)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1223 goto
never executed: goto out;
out;
never executed: goto out;
0
1224 free(key_id);-
1225 key_id = -
1226 ((void *)0)-
1227 ;-
1228 }
never executed: end of block
0
1229 break;
never executed: break;
0
1230 default
never executed: default:
:
never executed: default:
0
1231 error("Unsupported KRL certificate section %u", type);-
1232 r = -4;-
1233 goto
never executed: goto out;
out;
never executed: goto out;
0
1234 }-
1235 if (sshbuf_len(subsect) > 0
sshbuf_len(subsect) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1236 error("KRL certificate section contains unparsed data");-
1237 r = -4;-
1238 goto
never executed: goto out;
out;
never executed: goto out;
0
1239 }-
1240 }
never executed: end of block
0
1241-
1242 r = 0;-
1243 out:
code before this statement never executed: out:
0
1244 if (bitmap !=
bitmap != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1245 ((void *)0)
bitmap != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1246 )-
1247 bitmap_free(bitmap);
never executed: bitmap_free(bitmap);
0
1248 free(key_id);-
1249 sshkey_free(ca_key);-
1250 sshbuf_free(subsect);-
1251 return
never executed: return r;
r;
never executed: return r;
0
1252}-
1253-
1254static int-
1255blob_section(struct sshbuf *sect, struct revoked_blob_tree *target_tree,-
1256 size_t expected_len)-
1257{-
1258 u_char *rdata = -
1259 ((void *)0)-
1260 ;-
1261 size_t rlen = 0;-
1262 int r;-
1263-
1264 while (sshbuf_len(sect) > 0
sshbuf_len(sect) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1265 if ((
(r = sshbuf_ge..., &rlen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string(sect, &rdata, &rlen)) != 0
(r = sshbuf_ge..., &rlen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1266 return
never executed: return r;
r;
never executed: return r;
0
1267 if (expected_len != 0
expected_len != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& rlen != expected_len
rlen != expected_lenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1268 error("%s: bad length", __func__);-
1269 free(rdata);-
1270 return
never executed: return -4;
-4;
never executed: return -4;
0
1271 }-
1272 if ((
(r = revoke_bl...a, rlen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = revoke_blob(target_tree, rdata, rlen)) != 0
(r = revoke_bl...a, rlen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1273 free(rdata);-
1274 return
never executed: return r;
r;
never executed: return r;
0
1275 }-
1276 }
never executed: end of block
0
1277 return
never executed: return 0;
0;
never executed: return 0;
0
1278}-
1279-
1280-
1281int-
1282ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp,-
1283 const struct sshkey **sign_ca_keys, size_t nsign_ca_keys)-
1284{-
1285 struct sshbuf *copy = -
1286 ((void *)0)-
1287 , *sect = -
1288 ((void *)0)-
1289 ;-
1290 struct ssh_krl *krl = -
1291 ((void *)0)-
1292 ;-
1293 char timestamp[64];-
1294 int r = -1, sig_seen;-
1295 struct sshkey *key = -
1296 ((void *)0)-
1297 , **ca_used = -
1298 ((void *)0)-
1299 , **tmp_ca_used;-
1300 u_char type;-
1301 const u_char *blob;-
1302 size_t i, j, sig_off, sects_off, blen, nca_used;-
1303 u_int format_version;-
1304-
1305 nca_used = 0;-
1306 *krlp = -
1307 ((void *)0)-
1308 ;-
1309 if (sshbuf_len(buf) < sizeof("SSHKRL\n\0") - 1
sshbuf_len(buf...HKRL\n\0") - 1Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1310 memcmp(sshbuf_ptr(buf), "SSHKRL\n\0", sizeof("SSHKRL\n\0") - 1) != 0
memcmp(sshbuf_...\0") - 1) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1311 debug3("%s: not a KRL", __func__);-
1312 return
never executed: return -50;
-50;
never executed: return -50;
0
1313 }-
1314-
1315-
1316 if ((
(copy = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
copy = sshbuf_fromb(buf)) ==
(copy = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1317 ((void *)0)
(copy = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1318 ) {-
1319 r = -2;-
1320 goto
never executed: goto out;
out;
never executed: goto out;
0
1321 }-
1322 if ((
(r = sshbuf_co...0") - 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_consume(copy, sizeof("SSHKRL\n\0") - 1)) != 0
(r = sshbuf_co...0") - 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1323 goto
never executed: goto out;
out;
never executed: goto out;
0
1324-
1325 if ((
(krl = ssh_krl...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
krl = ssh_krl_init()) ==
(krl = ssh_krl...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1326 ((void *)0)
(krl = ssh_krl...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1327 ) {-
1328 error("%s: alloc failed", __func__);-
1329 goto
never executed: goto out;
out;
never executed: goto out;
0
1330 }-
1331-
1332 if ((
(r = sshbuf_ge...version)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u32(copy, &format_version)) != 0
(r = sshbuf_ge...version)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1333 goto
never executed: goto out;
out;
never executed: goto out;
0
1334 if (format_version != 1
format_version != 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1335 r = -4;-
1336 goto
never executed: goto out;
out;
never executed: goto out;
0
1337 }-
1338 if ((
(r = sshbuf_ge...version)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u64(copy, &krl->krl_version)) != 0
(r = sshbuf_ge...version)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1339 (
(r = sshbuf_ge...ed_date)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u64(copy, &krl->generated_date)) != 0
(r = sshbuf_ge...ed_date)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1340 (
(r = sshbuf_ge...->flags)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u64(copy, &krl->flags)) != 0
(r = sshbuf_ge...->flags)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1341 (
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string_direct(copy,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1342 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1343 ,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1344 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1345 )) != 0
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1346 (
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_cstring(copy, &krl->comment,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1347 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1348 )) != 0
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1349 goto
never executed: goto out;
out;
never executed: goto out;
0
1350-
1351 format_timestamp(krl->generated_date, timestamp, sizeof(timestamp));-
1352 debug("KRL version %llu generated at %s%s%s",-
1353 (long long unsigned)krl->krl_version, timestamp,-
1354 *krl->comment ? ": " : "", krl->comment);-
1355-
1356-
1357-
1358-
1359-
1360 sig_seen = 0;-
1361 if (sshbuf_len(buf) < sshbuf_len(copy)
sshbuf_len(buf...hbuf_len(copy)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1362-
1363 r = -1;-
1364 goto
never executed: goto out;
out;
never executed: goto out;
0
1365 }-
1366 sects_off = sshbuf_len(buf) - sshbuf_len(copy);-
1367 while (sshbuf_len(copy) > 0
sshbuf_len(copy) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1368 if ((
(r = sshbuf_ge..., &type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u8(copy, &type)) != 0
(r = sshbuf_ge..., &type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1369 (
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string_direct(copy, &blob, &blen)) != 0
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1370 goto
never executed: goto out;
out;
never executed: goto out;
0
1371 ;-
1372 if (type != 4
type != 4Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1373 if (sig_seen
sig_seenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1374 error("KRL contains non-signature section "-
1375 "after signature");-
1376 r = -4;-
1377 goto
never executed: goto out;
out;
never executed: goto out;
0
1378 }-
1379-
1380 continue;
never executed: continue;
0
1381 }-
1382 sig_seen = 1;-
1383-
1384 if ((
(r = sshkey_fr...n, &key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_from_blob(blob, blen, &key)) != 0
(r = sshkey_fr...n, &key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1385 r = -4;-
1386 goto
never executed: goto out;
out;
never executed: goto out;
0
1387 }-
1388 if (sshbuf_len(buf) < sshbuf_len(copy)
sshbuf_len(buf...hbuf_len(copy)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1389-
1390 r = -1;-
1391 goto
never executed: goto out;
out;
never executed: goto out;
0
1392 }-
1393 sig_off = sshbuf_len(buf) - sshbuf_len(copy);-
1394-
1395 if ((
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string_direct(copy, &blob, &blen)) != 0
(r = sshbuf_ge..., &blen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1396 r = -4;-
1397 goto
never executed: goto out;
out;
never executed: goto out;
0
1398 }-
1399-
1400 if ((
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_verify(key, blob, blen,
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1401 sshbuf_ptr(buf), sig_off,
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1402 ((void *)0)
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1403 , 0)) != 0
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1404 goto
never executed: goto out;
out;
never executed: goto out;
0
1405-
1406 for (i = 0; i < nca_used
i < nca_usedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1407 if (sshkey_equal(ca_used[i], key)
sshkey_equal(ca_used[i], key)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1408 error("KRL signed more than once with "-
1409 "the same key");-
1410 r = -4;-
1411 goto
never executed: goto out;
out;
never executed: goto out;
0
1412 }-
1413 }
never executed: end of block
0
1414-
1415 tmp_ca_used = recallocarray(ca_used, nca_used, nca_used + 1,-
1416 sizeof(*ca_used));-
1417 if (tmp_ca_used ==
tmp_ca_used == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1418 ((void *)0)
tmp_ca_used == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1419 ) {-
1420 r = -2;-
1421 goto
never executed: goto out;
out;
never executed: goto out;
0
1422 }-
1423 ca_used = tmp_ca_used;-
1424 ca_used[nca_used++] = key;-
1425 key = -
1426 ((void *)0)-
1427 ;-
1428 }
never executed: end of block
0
1429-
1430 if (sshbuf_len(copy) != 0
sshbuf_len(copy) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1431-
1432 r = -1;-
1433 goto
never executed: goto out;
out;
never executed: goto out;
0
1434 }-
1435-
1436-
1437-
1438-
1439-
1440 sshbuf_free(copy);-
1441 if ((
(copy = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
copy = sshbuf_fromb(buf)) ==
(copy = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1442 ((void *)0)
(copy = sshbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1443 ) {-
1444 r = -2;-
1445 goto
never executed: goto out;
out;
never executed: goto out;
0
1446 }-
1447 if ((
(r = sshbuf_co...cts_off)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_consume(copy, sects_off)) != 0
(r = sshbuf_co...cts_off)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1448 goto
never executed: goto out;
out;
never executed: goto out;
0
1449 while (sshbuf_len(copy) > 0
sshbuf_len(copy) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1450 sshbuf_free(sect);-
1451 sect = -
1452 ((void *)0)-
1453 ;-
1454 if ((
(r = sshbuf_ge..., &type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_u8(copy, &type)) != 0
(r = sshbuf_ge..., &type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1455 (
(r = sshbuf_fr..., &sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_froms(copy, &sect)) != 0
(r = sshbuf_fr..., &sect)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1456 goto
never executed: goto out;
out;
never executed: goto out;
0
1457 ;-
1458-
1459 switch (type) {-
1460 case
never executed: case 1:
1:
never executed: case 1:
0
1461 if ((
(r = parse_rev...ct, krl)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = parse_revoked_certs(sect, krl)) != 0
(r = parse_rev...ct, krl)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1462 goto
never executed: goto out;
out;
never executed: goto out;
0
1463 break;
never executed: break;
0
1464 case
never executed: case 2:
2:
never executed: case 2:
0
1465 if ((
(r = blob_sect...keys, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = blob_section(sect,
(r = blob_sect...keys, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1466 &krl->revoked_keys, 0)) != 0
(r = blob_sect...keys, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1467 goto
never executed: goto out;
out;
never executed: goto out;
0
1468 break;
never executed: break;
0
1469 case
never executed: case 3:
3:
never executed: case 3:
0
1470 if ((
(r = blob_sect...a1s, 20)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = blob_section(sect,
(r = blob_sect...a1s, 20)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1471 &krl->revoked_sha1s, 20)) != 0
(r = blob_sect...a1s, 20)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1472 goto
never executed: goto out;
out;
never executed: goto out;
0
1473 break;
never executed: break;
0
1474 case
never executed: case 5:
5:
never executed: case 5:
0
1475 if ((
(r = blob_sect...56s, 32)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = blob_section(sect,
(r = blob_sect...56s, 32)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1476 &krl->revoked_sha256s, 32)) != 0
(r = blob_sect...56s, 32)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1477 goto
never executed: goto out;
out;
never executed: goto out;
0
1478 break;
never executed: break;
0
1479 case
never executed: case 4:
4:
never executed: case 4:
0
1480-
1481 sshbuf_free(sect);-
1482 sect = -
1483 ((void *)0)-
1484 ;-
1485 if ((
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string_direct(copy,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1486 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1487 ,
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1488 ((void *)0)
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1489 )) != 0
(r = sshbuf_ge...d *)0) )) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1490 goto
never executed: goto out;
out;
never executed: goto out;
0
1491 break;
never executed: break;
0
1492 default
never executed: default:
:
never executed: default:
0
1493 error("Unsupported KRL section %u", type);-
1494 r = -4;-
1495 goto
never executed: goto out;
out;
never executed: goto out;
0
1496 }-
1497 if (sect !=
sect != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1498 ((void *)0)
sect != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1499 && sshbuf_len(sect) > 0
sshbuf_len(sect) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1500 error("KRL section contains unparsed data");-
1501 r = -4;-
1502 goto
never executed: goto out;
out;
never executed: goto out;
0
1503 }-
1504 }
never executed: end of block
0
1505-
1506-
1507 sig_seen = 0;-
1508 for (i = 0; i < nca_used
i < nca_usedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1509 if (ssh_krl_check_key(krl, ca_used[i]) == 0
ssh_krl_check_..._used[i]) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1510 sig_seen = 1;
never executed: sig_seen = 1;
0
1511 else {-
1512 sshkey_free(ca_used[i]);-
1513 ca_used[i] = -
1514 ((void *)0)-
1515 ;-
1516 }
never executed: end of block
0
1517 }-
1518 if (nca_used
nca_usedDescription
TRUEnever evaluated
FALSEnever evaluated
&& !sig_seen
!sig_seenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1519 error("All keys used to sign KRL were revoked");-
1520 r = -51;-
1521 goto
never executed: goto out;
out;
never executed: goto out;
0
1522 }-
1523-
1524-
1525 if (sig_seen
sig_seenDescription
TRUEnever evaluated
FALSEnever evaluated
&& nsign_ca_keys != 0
nsign_ca_keys != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1526 sig_seen = 0;-
1527 for (i = 0; !sig_seen
!sig_seenDescription
TRUEnever evaluated
FALSEnever evaluated
&& i < nsign_ca_keys
i < nsign_ca_keysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1528 for (j = 0; j < nca_used
j < nca_usedDescription
TRUEnever evaluated
FALSEnever evaluated
; j++) {
0
1529 if (ca_used[j] ==
ca_used[j] == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1530 ((void *)0)
ca_used[j] == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1531 )-
1532 continue;
never executed: continue;
0
1533 if (sshkey_equal(ca_used[j], sign_ca_keys[i])
sshkey_equal(c...gn_ca_keys[i])Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1534 sig_seen = 1;-
1535 break;
never executed: break;
0
1536 }-
1537 }
never executed: end of block
0
1538 }
never executed: end of block
0
1539 if (!sig_seen
!sig_seenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1540 r = -21;-
1541 error("KRL not signed with any trusted key");-
1542 goto
never executed: goto out;
out;
never executed: goto out;
0
1543 }-
1544 }
never executed: end of block
0
1545-
1546 *krlp = krl;-
1547 r = 0;-
1548 out:
code before this statement never executed: out:
0
1549 if (r != 0
r != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1550 ssh_krl_free(krl);
never executed: ssh_krl_free(krl);
0
1551 for (i = 0; i < nca_used
i < nca_usedDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
1552 sshkey_free(ca_used[i]);
never executed: sshkey_free(ca_used[i]);
0
1553 free(ca_used);-
1554 sshkey_free(key);-
1555 sshbuf_free(copy);-
1556 sshbuf_free(sect);-
1557 return
never executed: return r;
r;
never executed: return r;
0
1558}-
1559-
1560-
1561static int-
1562is_cert_revoked(const struct sshkey *key, struct revoked_certs *rc)-
1563{-
1564 struct revoked_serial rs, *ers;-
1565 struct revoked_key_id rki, *erki;-
1566-
1567-
1568 memset(&rki, 0, sizeof(rki));-
1569 rki.key_id = key->cert->key_id;-
1570 erki = revoked_key_id_tree_RB_FIND(&rc->revoked_key_ids, &rki);-
1571 if (erki !=
erki != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1572 ((void *)0)
erki != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1573 ) {-
1574 ;-
1575 return
never executed: return -51;
-51;
never executed: return -51;
0
1576 }-
1577-
1578-
1579-
1580-
1581-
1582 if (key->cert->serial == 0
key->cert->serial == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1583 return
never executed: return 0;
0;
never executed: return 0;
0
1584-
1585 memset(&rs, 0, sizeof(rs));-
1586 rs.lo = rs.hi = key->cert->serial;-
1587 ers = revoked_serial_tree_RB_FIND(&rc->revoked_serials, &rs);-
1588 if (ers !=
ers != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1589 ((void *)0)
ers != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1590 ) {-
1591 -
1592 ;-
1593 return
never executed: return -51;
-51;
never executed: return -51;
0
1594 }-
1595 return
never executed: return 0;
0;
never executed: return 0;
0
1596}-
1597-
1598-
1599static int-
1600is_key_revoked(struct ssh_krl *krl, const struct sshkey *key)-
1601{-
1602 struct revoked_blob rb, *erb;-
1603 struct revoked_certs *rc;-
1604 int r;-
1605-
1606-
1607 memset(&rb, 0, sizeof(rb));-
1608 if ((
(r = sshkey_fi...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_fingerprint_raw(key, 1,
(r = sshkey_fi...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1609 &rb.blob, &rb.len)) != 0
(r = sshkey_fi...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1610 return
never executed: return r;
r;
never executed: return r;
0
1611 erb = revoked_blob_tree_RB_FIND(&krl->revoked_sha1s, &rb);-
1612 free(rb.blob);-
1613 if (erb !=
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1614 ((void *)0)
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1615 ) {-
1616 ;-
1617 return
never executed: return -51;
-51;
never executed: return -51;
0
1618 }-
1619 memset(&rb, 0, sizeof(rb));-
1620 if ((
(r = sshkey_fi...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_fingerprint_raw(key, 2,
(r = sshkey_fi...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1621 &rb.blob, &rb.len)) != 0
(r = sshkey_fi...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1622 return
never executed: return r;
r;
never executed: return r;
0
1623 erb = revoked_blob_tree_RB_FIND(&krl->revoked_sha256s, &rb);-
1624 free(rb.blob);-
1625 if (erb !=
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1626 ((void *)0)
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1627 ) {-
1628 ;-
1629 return
never executed: return -51;
-51;
never executed: return -51;
0
1630 }-
1631-
1632-
1633 memset(&rb, 0, sizeof(rb));-
1634 if ((
(r = plain_key...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = plain_key_blob(key, &rb.blob, &rb.len)) != 0
(r = plain_key...&rb.len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1635 return
never executed: return r;
r;
never executed: return r;
0
1636 erb = revoked_blob_tree_RB_FIND(&krl->revoked_keys, &rb);-
1637 free(rb.blob);-
1638 if (erb !=
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1639 ((void *)0)
erb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1640 ) {-
1641 ;-
1642 return
never executed: return -51;
-51;
never executed: return -51;
0
1643 }-
1644-
1645 if (!sshkey_is_cert(key)
!sshkey_is_cert(key)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1646 return
never executed: return 0;
0;
never executed: return 0;
0
1647-
1648-
1649 if ((
(r = revoked_c... &rc, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = revoked_certs_for_ca_key(krl, key->cert->signature_key,
(r = revoked_c... &rc, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1650 &rc, 0)) != 0
(r = revoked_c... &rc, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1651 return
never executed: return r;
r;
never executed: return r;
0
1652 if (rc !=
rc != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1653 ((void *)0)
rc != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1654 ) {-
1655 if ((
(r = is_cert_r...key, rc)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = is_cert_revoked(key, rc)) != 0
(r = is_cert_r...key, rc)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1656 return
never executed: return r;
r;
never executed: return r;
0
1657 }
never executed: end of block
0
1658-
1659 if ((
(r = revoked_c... &rc, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = revoked_certs_for_ca_key(krl,
(r = revoked_c... &rc, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1660 ((void *)0)
(r = revoked_c... &rc, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1661 , &rc, 0)) != 0
(r = revoked_c... &rc, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1662 return
never executed: return r;
r;
never executed: return r;
0
1663 if (rc !=
rc != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1664 ((void *)0)
rc != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1665 ) {-
1666 if ((
(r = is_cert_r...key, rc)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = is_cert_revoked(key, rc)) != 0
(r = is_cert_r...key, rc)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1667 return
never executed: return r;
r;
never executed: return r;
0
1668 }
never executed: end of block
0
1669-
1670 ;-
1671 return
never executed: return 0;
0;
never executed: return 0;
0
1672}-
1673-
1674int-
1675ssh_krl_check_key(struct ssh_krl *krl, const struct sshkey *key)-
1676{-
1677 int r;-
1678-
1679 ;-
1680 if ((
(r = is_key_re...rl, key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = is_key_revoked(krl, key)) != 0
(r = is_key_re...rl, key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1681 return
never executed: return r;
r;
never executed: return r;
0
1682 if (sshkey_is_cert(key)
sshkey_is_cert(key)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1683 debug2("%s: checking CA key", __func__);-
1684 if ((
(r = is_key_re...ure_key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = is_key_revoked(krl, key->cert->signature_key)) != 0
(r = is_key_re...ure_key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1685 return
never executed: return r;
r;
never executed: return r;
0
1686 }
never executed: end of block
0
1687 ;-
1688 return
never executed: return 0;
0;
never executed: return 0;
0
1689}-
1690-
1691int-
1692ssh_krl_file_contains_key(const char *path, const struct sshkey *key)-
1693{-
1694 struct sshbuf *krlbuf = -
1695 ((void *)0)-
1696 ;-
1697 struct ssh_krl *krl = -
1698 ((void *)0)-
1699 ;-
1700 int oerrno = 0, r, fd;-
1701-
1702 if (path ==
path == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1703 ((void *)0)
path == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1704 )-
1705 return
never executed: return 0;
0;
never executed: return 0;
0
1706-
1707 if ((
(krlbuf = sshb...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
krlbuf = sshbuf_new()) ==
(krlbuf = sshb...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1708 ((void *)0)
(krlbuf = sshb...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1709 )-
1710 return
never executed: return -2;
-2;
never executed: return -2;
0
1711 if ((
(fd = open(path, 00 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
fd = open(path,
(fd = open(path, 00 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1712 00
(fd = open(path, 00 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1713 )) == -1
(fd = open(path, 00 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1714 r = -24;-
1715 oerrno = -
1716 (*__errno_location ())-
1717 ;-
1718 goto
never executed: goto out;
out;
never executed: goto out;
0
1719 }-
1720 if ((
(r = sshkey_lo... krlbuf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_load_file(fd, krlbuf)) != 0
(r = sshkey_lo... krlbuf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1721 oerrno = -
1722 (*__errno_location ())-
1723 ;-
1724 goto
never executed: goto out;
out;
never executed: goto out;
0
1725 }-
1726 if ((
(r = ssh_krl_f...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = ssh_krl_from_blob(krlbuf, &krl,
(r = ssh_krl_f...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1727 ((void *)0)
(r = ssh_krl_f...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1728 , 0)) != 0
(r = ssh_krl_f...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1729 goto
never executed: goto out;
out;
never executed: goto out;
0
1730 debug2("%s: checking KRL %s", __func__, path);-
1731 r = ssh_krl_check_key(krl, key);-
1732 out:
code before this statement never executed: out:
0
1733 if (fd != -1
fd != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1734 close(fd);
never executed: close(fd);
0
1735 sshbuf_free(krlbuf);-
1736 ssh_krl_free(krl);-
1737 if (r != 0
r != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1738 -
1739 (*
never executed: (*__errno_location ()) = oerrno;
__errno_location ())
never executed: (*__errno_location ()) = oerrno;
0
1740 = oerrno;
never executed: (*__errno_location ()) = oerrno;
0
1741 return
never executed: return r;
r;
never executed: return r;
0
1742}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2