modules/proxy/mod_proxy_ajp.c:458: error: INTEGER_OVERFLOW_L1
  (4 - 8):unsigned64 by call to `ajp_parse_data`.

modules/proxy/mod_proxy_ajp.c:158:1: Parameter `*conn->sock`
156.  * process the request and write the response.
157.  */
158. static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r,
     ^
159.                                 proxy_conn_rec *conn,
160.                                 conn_rec *origin,

modules/proxy/mod_proxy_ajp.c:371:5: Assignment
369.     conn_poll->reqevents = APR_POLLIN;
370.     conn_poll->desc_type = APR_POLL_SOCKET;
371.     conn_poll->desc.s = conn->sock;
         ^
372. 
373.     bufsiz = maxsize;

modules/proxy/mod_proxy_ajp.c:458:26: Call
456.             case CMD_AJP13_SEND_BODY_CHUNK:
457.                 /* AJP13_SEND_BODY_CHUNK: piece of data */
458.                 status = ajp_parse_data(r, conn->data, &size, &send_body_chunk_buff);
                              ^
459.                 if (status == APR_SUCCESS) {
460.                     /* If we are overriding the errors, we can't put the content

modules/proxy/ajp_header.c:732:1: <LHS trace>
730. 
731. /* parse the body and return data address and length */
732. apr_status_t  ajp_parse_data(request_rec  *r, ajp_msg_t *msg,
     ^
733.                              apr_uint16_t *len, char **ptr)
734. {

modules/proxy/ajp_header.c:732:1: Parameter `msg->len`
  730. 
  731. /* parse the body and return data address and length */
  732. apr_status_t  ajp_parse_data(request_rec  *r, ajp_msg_t *msg,
       ^
  733.                              apr_uint16_t *len, char **ptr)
  734. {

modules/proxy/ajp_header.c:739:10: Call
  737.     apr_uint16_t expected_len;
  738. 
  739.     rc = ajp_msg_get_uint8(msg, &result);
                ^
  740.     if (rc != APR_SUCCESS) {
  741.         ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00996)

modules/proxy/ajp_msg.c:477:1: Parameter `msg->len`
    475.  * @return          APR_SUCCESS or error
    476.  */
    477. apr_status_t ajp_msg_get_uint8(ajp_msg_t *msg, apr_byte_t *rvalue)
         ^
    478. {
    479. 

modules/proxy/ajp_header.c:752:10: Call
  750.         return AJP_EBAD_HEADER;
  751.     }
  752.     rc = ajp_msg_get_uint16(msg, len);
                ^
  753.     if (rc != APR_SUCCESS) {
  754.         return rc;

modules/proxy/ajp_msg.c:414:1: Parameter `msg->len`
    412.  * @return          APR_SUCCESS or error
    413.  */
    414. apr_status_t ajp_msg_get_uint16(ajp_msg_t *msg, apr_uint16_t *rvalue)
         ^
    415. {
    416.     apr_uint16_t value;

modules/proxy/ajp_header.c:766:5: Binary operation: (4 - 8):unsigned64 by call to `ajp_parse_data` 
  764.      *                     0x00 and is not part of the chunk.
  765.      */
  766.     expected_len = msg->len - (AJP_HEADER_LEN + AJP_HEADER_SZ_LEN + 1 + 1);
           ^
  767.     if (*len != expected_len) {
  768.         ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00998)

apr_status_t  ajp_parse_data(request_rec  *r, ajp_msg_t *msg,
                             apr_uint16_t *len, char **ptr)
{
    apr_byte_t result;
    apr_status_t rc;
    apr_uint16_t expected_len;
    rc = ajp_msg_get_uint8(msg, &result);
    if (rc != APR_SUCCESS) {
        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00996)
               "ajp_parse_data: ajp_msg_get_byte failed");
        return rc;
    }
    if (result != CMD_AJP13_SEND_BODY_CHUNK) {
        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00997)
               "ajp_parse_data: wrong type %s (0x%02x) expecting %s (0x%02x)",
               ajp_type_str(result), result,
               ajp_type_str(CMD_AJP13_SEND_BODY_CHUNK), CMD_AJP13_SEND_BODY_CHUNK);
        return AJP_EBAD_HEADER;
    }
    rc = ajp_msg_get_uint16(msg, len);
    if (rc != APR_SUCCESS) {
        return rc;
    }
    expected_len = msg->len - (AJP_HEADER_LEN + AJP_HEADER_SZ_LEN + 1 + 1);
    if (*len != expected_len) {
        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00998)
               "ajp_parse_data: Wrong chunk length. Length of chunk is %i,"
               " expected length is %i.", *len, expected_len);
        return AJP_EBAD_HEADER;
    }
    *ptr = (char *)&(msg->buf[msg->pos]);
    return APR_SUCCESS;
}
['static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r,\n                                proxy_conn_rec *conn,\n                                conn_rec *origin,\n                                proxy_dir_conf *conf,\n                                apr_uri_t *uri,\n                                char *url, char *server_portstr)\n{\n    apr_status_t status;\n    int result;\n    apr_bucket *e;\n    apr_bucket_brigade *input_brigade;\n    apr_bucket_brigade *output_brigade;\n    ajp_msg_t *msg;\n    apr_size_t bufsiz = 0;\n    char *buff;\n    char *send_body_chunk_buff;\n    apr_uint16_t size;\n    apr_byte_t conn_reuse = 0;\n    const char *tenc;\n    int havebody = 1;\n    int output_failed = 0;\n    int backend_failed = 0;\n    apr_off_t bb_len;\n    int data_sent = 0;\n    int request_ended = 0;\n    int headers_sent = 0;\n    int rv = 0;\n    apr_int32_t conn_poll_fd;\n    apr_pollfd_t *conn_poll;\n    proxy_server_conf *psf =\n    ap_get_module_config(r->server->module_config, &proxy_module);\n    apr_size_t maxsize = AJP_MSG_BUFFER_SZ;\n    int send_body = 0;\n    apr_off_t content_length = 0;\n    int original_status = r->status;\n    const char *original_status_line = r->status_line;\n    if (psf->io_buffer_size_set)\n       maxsize = psf->io_buffer_size;\n    if (maxsize > AJP_MAX_BUFFER_SZ)\n       maxsize = AJP_MAX_BUFFER_SZ;\n    else if (maxsize < AJP_MSG_BUFFER_SZ)\n       maxsize = AJP_MSG_BUFFER_SZ;\n    maxsize = APR_ALIGN(maxsize, 1024);\n    status = ajp_send_header(conn->sock, r, maxsize, uri);\n    if (status != APR_SUCCESS) {\n        conn->close++;\n        ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00868)\n                      "request failed to %pI (%s)",\n                      conn->worker->cp->addr,\n                      conn->worker->s->hostname);\n        if (status == AJP_EOVERFLOW)\n            return HTTP_BAD_REQUEST;\n        else if  (status == AJP_EBAD_METHOD) {\n            return HTTP_NOT_IMPLEMENTED;\n        } else {\n            if (is_idempotent(r) == METHOD_IDEMPOTENT) {\n                return HTTP_SERVICE_UNAVAILABLE;\n            }\n            return HTTP_INTERNAL_SERVER_ERROR;\n        }\n    }\n    bufsiz = maxsize;\n    status = ajp_alloc_data_msg(r->pool, &buff, &bufsiz, &msg);\n    if (status != APR_SUCCESS) {\n        conn->close++;\n        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00869)\n                      "ajp_alloc_data_msg failed");\n        return HTTP_INTERNAL_SERVER_ERROR;\n    }\n    input_brigade = apr_brigade_create(p, r->connection->bucket_alloc);\n    tenc = apr_table_get(r->headers_in, "Transfer-Encoding");\n    if (tenc && (strcasecmp(tenc, "chunked") == 0)) {\n        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00870) "request is chunked");\n    } else {\n        content_length = get_content_length(r);\n        status = ap_get_brigade(r->input_filters, input_brigade,\n                                AP_MODE_READBYTES, APR_BLOCK_READ,\n                                maxsize - AJP_HEADER_SZ);\n        if (status != APR_SUCCESS) {\n            conn->close++;\n            ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00871)\n                          "ap_get_brigade failed");\n            apr_brigade_destroy(input_brigade);\n            return HTTP_BAD_REQUEST;\n        }\n        if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) {\n            ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00872) "APR_BUCKET_IS_EOS");\n        }\n        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00873)\n                      "data to read (max %" APR_SIZE_T_FMT\n                      " at %" APR_SIZE_T_FMT ")", bufsiz, msg->pos);\n        status = apr_brigade_flatten(input_brigade, buff, &bufsiz);\n        if (status != APR_SUCCESS) {\n            conn->close++;\n            apr_brigade_destroy(input_brigade);\n            ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00874)\n                          "apr_brigade_flatten");\n            return HTTP_INTERNAL_SERVER_ERROR;\n        }\n        apr_brigade_cleanup(input_brigade);\n        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00875)\n                      "got %" APR_SIZE_T_FMT " bytes of data", bufsiz);\n        if (bufsiz > 0) {\n            status = ajp_send_data_msg(conn->sock, msg, bufsiz);\n            ajp_msg_log(r, msg, "First ajp_send_data_msg: ajp_ilink_send packet dump");\n            if (status != APR_SUCCESS) {\n                conn->close++;\n                apr_brigade_destroy(input_brigade);\n                ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00876)\n                              "send failed to %pI (%s)",\n                              conn->worker->cp->addr,\n                              conn->worker->s->hostname);\n                return HTTP_INTERNAL_SERVER_ERROR;\n            }\n            conn->worker->s->transferred += bufsiz;\n            send_body = 1;\n        }\n        else if (content_length > 0) {\n            ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00877)\n                          "read zero bytes, expecting"\n                          " %" APR_OFF_T_FMT " bytes",\n                          content_length);\n            conn->close++;\n            return HTTP_BAD_REQUEST;\n        }\n    }\n    conn->data = NULL;\n    status = ajp_read_header(conn->sock, r, maxsize,\n                             (ajp_msg_t **)&(conn->data));\n    if (status != APR_SUCCESS) {\n        conn->close++;\n        apr_brigade_destroy(input_brigade);\n        ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00878)\n                      "read response failed from %pI (%s)",\n                      conn->worker->cp->addr,\n                      conn->worker->s->hostname);\n        if (APR_STATUS_IS_TIMEUP(status) && conn->worker->s->ping_timeout_set) {\n            return HTTP_GATEWAY_TIME_OUT;\n        }\n        if (!send_body && (is_idempotent(r) == METHOD_IDEMPOTENT)) {\n            return HTTP_SERVICE_UNAVAILABLE;\n        }\n        return HTTP_INTERNAL_SERVER_ERROR;\n    }\n    result = ajp_parse_type(r, conn->data);\n    output_brigade = apr_brigade_create(p, r->connection->bucket_alloc);\n    conn_poll = apr_pcalloc(p, sizeof(apr_pollfd_t));\n    conn_poll->reqevents = APR_POLLIN;\n    conn_poll->desc_type = APR_POLL_SOCKET;\n    conn_poll->desc.s = conn->sock;\n    bufsiz = maxsize;\n    for (;;) {\n        switch (result) {\n            case CMD_AJP13_GET_BODY_CHUNK:\n                if (havebody) {\n                    if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) {\n                        bufsiz = 0;\n                        havebody = 0;\n                        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, status, r, APLOGNO(00879)\n                                      "APR_BUCKET_IS_EOS");\n                    } else {\n                        status = ap_get_brigade(r->input_filters, input_brigade,\n                                                AP_MODE_READBYTES,\n                                                APR_BLOCK_READ,\n                                                maxsize - AJP_HEADER_SZ);\n                        if (status != APR_SUCCESS) {\n                            ap_log_rerror(APLOG_MARK, APLOG_DEBUG, status, r, APLOGNO(00880)\n                                          "ap_get_brigade failed");\n                            output_failed = 1;\n                            break;\n                        }\n                        bufsiz = maxsize;\n                        status = apr_brigade_flatten(input_brigade, buff,\n                                                     &bufsiz);\n                        apr_brigade_cleanup(input_brigade);\n                        if (status != APR_SUCCESS) {\n                            ap_log_rerror(APLOG_MARK, APLOG_DEBUG, status, r, APLOGNO(00881)\n                                         "apr_brigade_flatten failed");\n                            output_failed = 1;\n                            break;\n                        }\n                    }\n                    ajp_msg_reset(msg);\n                    status = ajp_send_data_msg(conn->sock, msg, bufsiz);\n                    ajp_msg_log(r, msg, "ajp_send_data_msg after CMD_AJP13_GET_BODY_CHUNK: ajp_ilink_send packet dump");\n                    if (status != APR_SUCCESS) {\n                        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, status, r, APLOGNO(00882)\n                                      "ajp_send_data_msg failed");\n                        backend_failed = 1;\n                        break;\n                    }\n                    conn->worker->s->transferred += bufsiz;\n                } else {\n                    ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00883)\n                                  "ap_proxy_ajp_request error read after end");\n                    backend_failed = 1;\n                }\n                break;\n            case CMD_AJP13_SEND_HEADERS:\n                if (headers_sent) {\n                    backend_failed = 1;\n                    ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00884)\n                                  "Backend sent headers twice.");\n                    break;\n                }\n                status = ajp_parse_header(r, conf, conn->data);\n                if (status != APR_SUCCESS) {\n                    backend_failed = 1;\n                }\n                else if ((r->status == 401) && conf->error_override) {\n                    const char *buf;\n                    const char *wa = "WWW-Authenticate";\n                    if ((buf = apr_table_get(r->headers_out, wa))) {\n                        apr_table_set(r->err_headers_out, wa, buf);\n                    } else {\n                        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00885)\n                                      "ap_proxy_ajp_request: origin server "\n                                      "sent 401 without WWW-Authenticate header");\n                    }\n                }\n                headers_sent = 1;\n                break;\n            case CMD_AJP13_SEND_BODY_CHUNK:\n                status = ajp_parse_data(r, conn->data, &size, &send_body_chunk_buff);\n                if (status == APR_SUCCESS) {\n                    if (!conf->error_override || !ap_is_HTTP_ERROR(r->status)) {\n                        if (size == 0) {\n                            if (headers_sent) {\n                                e = apr_bucket_flush_create(r->connection->bucket_alloc);\n                                APR_BRIGADE_INSERT_TAIL(output_brigade, e);\n                            }\n                            else {\n                                ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00886)\n                                              "Ignoring flush message "\n                                              "received before headers");\n                            }\n                        }\n                        else {\n                            apr_status_t rv;\n                            if (conf->error_override && !ap_is_HTTP_ERROR(r->status)\n                                    && ap_is_HTTP_ERROR(original_status)) {\n                                r->status = original_status;\n                                r->status_line = original_status_line;\n                            }\n                            e = apr_bucket_transient_create(send_body_chunk_buff, size,\n                                                        r->connection->bucket_alloc);\n                            APR_BRIGADE_INSERT_TAIL(output_brigade, e);\n                            if ((conn->worker->s->flush_packets == flush_on) ||\n                                ((conn->worker->s->flush_packets == flush_auto) &&\n                                ((rv = apr_poll(conn_poll, 1, &conn_poll_fd,\n                                                 conn->worker->s->flush_wait))\n                                                 != APR_SUCCESS) &&\n                                  APR_STATUS_IS_TIMEUP(rv))) {\n                                e = apr_bucket_flush_create(r->connection->bucket_alloc);\n                                APR_BRIGADE_INSERT_TAIL(output_brigade, e);\n                            }\n                            apr_brigade_length(output_brigade, 0, &bb_len);\n                            if (bb_len != -1)\n                                conn->worker->s->read += bb_len;\n                        }\n                        if (headers_sent) {\n                            if (ap_pass_brigade(r->output_filters,\n                                                output_brigade) != APR_SUCCESS) {\n                                ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00887)\n                                              "error processing body.%s",\n                                              r->connection->aborted ?\n                                              " Client aborted connection." : "");\n                                output_failed = 1;\n                            }\n                            data_sent = 1;\n                            apr_brigade_cleanup(output_brigade);\n                        }\n                    }\n                }\n                else {\n                    backend_failed = 1;\n                }\n                break;\n            case CMD_AJP13_END_RESPONSE:\n                status = ajp_parse_reuse(r, conn->data, &conn_reuse);\n                if (status != APR_SUCCESS) {\n                    backend_failed = 1;\n                }\n                if (!conf->error_override || !ap_is_HTTP_ERROR(r->status)) {\n                    e = apr_bucket_eos_create(r->connection->bucket_alloc);\n                    APR_BRIGADE_INSERT_TAIL(output_brigade, e);\n                    if (ap_pass_brigade(r->output_filters,\n                                        output_brigade) != APR_SUCCESS) {\n                        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00888)\n                                      "error processing end");\n                        output_failed = 1;\n                    }\n                    data_sent = 1;\n                }\n                request_ended = 1;\n                break;\n            default:\n                backend_failed = 1;\n                break;\n        }\n        if (r->connection->aborted) {\n            conn->close++;\n            output_failed = 0;\n            result = CMD_AJP13_END_RESPONSE;\n            request_ended = 1;\n        }\n        if ((result == CMD_AJP13_END_RESPONSE) || backend_failed\n            || output_failed)\n            break;\n        status = ajp_read_header(conn->sock, r, maxsize,\n                                 (ajp_msg_t **)&(conn->data));\n        if (status != APR_SUCCESS) {\n            backend_failed = 1;\n            ap_log_rerror(APLOG_MARK, APLOG_DEBUG, status, r, APLOGNO(00889)\n                          "ajp_read_header failed");\n            break;\n        }\n        result = ajp_parse_type(r, conn->data);\n    }\n    apr_brigade_destroy(input_brigade);\n    apr_brigade_cleanup(output_brigade);\n    if (backend_failed || output_failed) {\n        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00890)\n                      "Processing of request failed backend: %i, "\n                      "output: %i", backend_failed, output_failed);\n        conn->close++;\n        if (data_sent) {\n            rv = DONE;\n        }\n    }\n    else if (!request_ended) {\n        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00891)\n                      "Processing of request didn\'t terminate cleanly");\n        conn->close++;\n        backend_failed = 1;\n        if (data_sent) {\n            rv = DONE;\n        }\n    }\n    else if (!conn_reuse) {\n        conn->close++;\n    }\n    else {\n        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00892)\n                      "got response from %pI (%s)",\n                      conn->worker->cp->addr,\n                      conn->worker->s->hostname);\n        if (conf->error_override && ap_is_HTTP_ERROR(r->status)) {\n            rv = r->status;\n            r->status = HTTP_OK;\n        }\n        else {\n            rv = OK;\n        }\n    }\n    if (backend_failed) {\n        ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00893)\n                      "dialog to %pI (%s) failed",\n                      conn->worker->cp->addr,\n                      conn->worker->s->hostname);\n        if (data_sent) {\n            ap_proxy_backend_broke(r, output_brigade);\n        } else if (!send_body && (is_idempotent(r) == METHOD_IDEMPOTENT)) {\n            rv = HTTP_SERVICE_UNAVAILABLE;\n        } else {\n            rv = HTTP_INTERNAL_SERVER_ERROR;\n        }\n    }\n    if (data_sent && !r->eos_sent && APR_BRIGADE_EMPTY(output_brigade)) {\n        e = apr_bucket_eos_create(r->connection->bucket_alloc);\n        APR_BRIGADE_INSERT_TAIL(output_brigade, e);\n    }\n    if (!APR_BRIGADE_EMPTY(output_brigade))\n        ap_pass_brigade(r->output_filters, output_brigade);\n    apr_brigade_destroy(output_brigade);\n    if (apr_table_get(r->subprocess_env, "proxy-nokeepalive")) {\n        conn->close++;\n    }\n    return rv;\n}', 'apr_status_t  ajp_parse_data(request_rec  *r, ajp_msg_t *msg,\n                             apr_uint16_t *len, char **ptr)\n{\n    apr_byte_t result;\n    apr_status_t rc;\n    apr_uint16_t expected_len;\n    rc = ajp_msg_get_uint8(msg, &result);\n    if (rc != APR_SUCCESS) {\n        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00996)\n               "ajp_parse_data: ajp_msg_get_byte failed");\n        return rc;\n    }\n    if (result != CMD_AJP13_SEND_BODY_CHUNK) {\n        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00997)\n               "ajp_parse_data: wrong type %s (0x%02x) expecting %s (0x%02x)",\n               ajp_type_str(result), result,\n               ajp_type_str(CMD_AJP13_SEND_BODY_CHUNK), CMD_AJP13_SEND_BODY_CHUNK);\n        return AJP_EBAD_HEADER;\n    }\n    rc = ajp_msg_get_uint16(msg, len);\n    if (rc != APR_SUCCESS) {\n        return rc;\n    }\n    expected_len = msg->len - (AJP_HEADER_LEN + AJP_HEADER_SZ_LEN + 1 + 1);\n    if (*len != expected_len) {\n        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(00998)\n               "ajp_parse_data: Wrong chunk length. Length of chunk is %i,"\n               " expected length is %i.", *len, expected_len);\n        return AJP_EBAD_HEADER;\n    }\n    *ptr = (char *)&(msg->buf[msg->pos]);\n    return APR_SUCCESS;\n}', 'apr_status_t ajp_msg_get_uint8(ajp_msg_t *msg, apr_byte_t *rvalue)\n{\n    if (msg->pos > msg->len) {\n        return ajp_log_overflow(msg, "ajp_msg_get_uint8");\n    }\n    *rvalue = msg->buf[msg->pos++];\n    return APR_SUCCESS;\n}', 'apr_status_t ajp_msg_get_uint16(ajp_msg_t *msg, apr_uint16_t *rvalue)\n{\n    apr_uint16_t value;\n    if ((msg->pos + 1) > msg->len) {\n        return ajp_log_overflow(msg, "ajp_msg_get_uint16");\n    }\n    value  = ((msg->buf[(msg->pos++)] & 0xFF) << 8);\n    value += ((msg->buf[(msg->pos++)] & 0xFF));\n    *rvalue = value;\n    return APR_SUCCESS;\n}']