server/mpm_fdqueue.c:476: error: INTEGER_OVERFLOW_L2
  ([0, `queue->nelts`] - 1):unsigned32.

server/mpm_fdqueue.c:432:1: <LHS trace>
430.  * 'sd'.
431.  */
432. apr_status_t ap_queue_pop_something(fd_queue_t *queue,
     ^
433.                                     apr_socket_t **sd, void **sd_baton,
434.                                     apr_pool_t **p, timer_event_t **te_out)

server/mpm_fdqueue.c:432:1: Parameter `queue->nelts`
430.  * 'sd'.
431.  */
432. apr_status_t ap_queue_pop_something(fd_queue_t *queue,
     ^
433.                                     apr_socket_t **sd, void **sd_baton,
434.                                     apr_pool_t **p, timer_event_t **te_out)

server/mpm_fdqueue.c:476:9: Binary operation: ([0, queue->nelts] - 1):unsigned32
474.         if (queue->out >= queue->bounds)
475.             queue->out -= queue->bounds;
476.         queue->nelts--;
             ^
477. 
478.         *sd = elem->sd;

apr_status_t ap_queue_pop_something(fd_queue_t *queue,
                                    apr_socket_t **sd, void **sd_baton,
                                    apr_pool_t **p, timer_event_t **te_out)
{
    fd_queue_elem_t *elem;
    timer_event_t *te;
    apr_status_t rv;
    if ((rv = apr_thread_mutex_lock(queue->one_big_mutex)) != APR_SUCCESS) {
        return rv;
    }
    if (ap_queue_empty(queue)) {
        if (!queue->terminated) {
            apr_thread_cond_wait(queue->not_empty, queue->one_big_mutex);
        }
        if (ap_queue_empty(queue)) {
            rv = apr_thread_mutex_unlock(queue->one_big_mutex);
            if (rv != APR_SUCCESS) {
                return rv;
            }
            if (queue->terminated) {
                return APR_EOF;
            }
            else {
                return APR_EINTR;
            }
        }
    }
    te = NULL;
    if (te_out) {
        if (!APR_RING_EMPTY(&queue->timers, timer_event_t, link)) {
            te = APR_RING_FIRST(&queue->timers);
            APR_RING_REMOVE(te, link);
        }
        *te_out = te;
    }
    if (!te) {
        elem = &queue->data[queue->out++];
        if (queue->out >= queue->bounds)
            queue->out -= queue->bounds;
        queue->nelts--;
        *sd = elem->sd;
        if (sd_baton) {
            *sd_baton = elem->sd_baton;
        }
        *p = elem->p;
#ifdef AP_DEBUG
        elem->sd = NULL;
        elem->p = NULL;
#endif
    }
    return apr_thread_mutex_unlock(queue->one_big_mutex);
}
['apr_status_t ap_queue_pop_something(fd_queue_t *queue,\n                                    apr_socket_t **sd, void **sd_baton,\n                                    apr_pool_t **p, timer_event_t **te_out)\n{\n    fd_queue_elem_t *elem;\n    timer_event_t *te;\n    apr_status_t rv;\n    if ((rv = apr_thread_mutex_lock(queue->one_big_mutex)) != APR_SUCCESS) {\n        return rv;\n    }\n    if (ap_queue_empty(queue)) {\n        if (!queue->terminated) {\n            apr_thread_cond_wait(queue->not_empty, queue->one_big_mutex);\n        }\n        if (ap_queue_empty(queue)) {\n            rv = apr_thread_mutex_unlock(queue->one_big_mutex);\n            if (rv != APR_SUCCESS) {\n                return rv;\n            }\n            if (queue->terminated) {\n                return APR_EOF;\n            }\n            else {\n                return APR_EINTR;\n            }\n        }\n    }\n    te = NULL;\n    if (te_out) {\n        if (!APR_RING_EMPTY(&queue->timers, timer_event_t, link)) {\n            te = APR_RING_FIRST(&queue->timers);\n            APR_RING_REMOVE(te, link);\n        }\n        *te_out = te;\n    }\n    if (!te) {\n        elem = &queue->data[queue->out++];\n        if (queue->out >= queue->bounds)\n            queue->out -= queue->bounds;\n        queue->nelts--;\n        *sd = elem->sd;\n        if (sd_baton) {\n            *sd_baton = elem->sd_baton;\n        }\n        *p = elem->p;\n#ifdef AP_DEBUG\n        elem->sd = NULL;\n        elem->p = NULL;\n#endif\n    }\n    return apr_thread_mutex_unlock(queue->one_big_mutex);\n}']