X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fprioq.c;h=537befc623a1554bd4b57bb115ca223bacddbbb4;hp=a2205719b47bf6dc1dfc01ccf52ec02a1af6438d;hb=68313d3dfa2082dae8a06643d639e0200afc19fc;hpb=9607d9470eec07df817e58f64d312ccb5ac4cfcc diff --git a/src/shared/prioq.c b/src/shared/prioq.c index a2205719b..537befc62 100644 --- a/src/shared/prioq.c +++ b/src/shared/prioq.c @@ -211,13 +211,14 @@ static void remove_item(Prioq *q, struct prioq_item *i) { } } -static struct prioq_item* find_item(Prioq *q, void *data, unsigned *idx) { +_pure_ static struct prioq_item* find_item(Prioq *q, void *data, unsigned *idx) { struct prioq_item *i; assert(q); if (idx) { - if (*idx > q->n_items) + if (*idx == PRIOQ_IDX_NULL || + *idx > q->n_items) return NULL; i = q->items + *idx;