Commit 2b601ab6 authored by Nick Kew's avatar Nick Kew
Browse files

Fix rewritemap/dbd bug pointed out by Davi Arnaut, and improve error reporting.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@454732 13f79535-47bb-0310-9956-ffa450edef68
parent 43ab182c
Loading
Loading
Loading
Loading
+6 −2
Changes for modules/mappers/mod_rewrite.c: 6 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -1330,6 +1330,7 @@ static char *lookup_map_dbd(request_rec *r, char *key, const char *label)
{
    apr_status_t rv;
    apr_dbd_prepared_t *stmt;
    const char *errmsg;
    apr_dbd_results_t *res = NULL;
    apr_dbd_row_t *row = NULL;
    const char *ret = NULL;
@@ -1341,8 +1342,10 @@ static char *lookup_map_dbd(request_rec *r, char *key, const char *label)
    rv = apr_dbd_pvselect(db->driver, r->pool, db->handle, &res,
                          stmt, 0, key, NULL);
    if (rv != 0) {
        errmsg = apr_dbd_error(db->driver, db->handle, rv);
        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
                      "rewritemap: error querying for %s", key);
                      "rewritemap: error %s querying for %s", errmsg, key);
        return NULL;
    }
    while (rv = apr_dbd_get_row(db->driver, r->pool, res, &row, -1), rv == 0) {
        ++n;
@@ -1357,8 +1360,9 @@ static char *lookup_map_dbd(request_rec *r, char *key, const char *label)
        }
    }
    if (rv != -1) {
        errmsg = apr_dbd_error(db->driver, db->handle, rv);
        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
                      "rewritemap: error looking up %s", key);
                      "rewritemap: error %s looking up %s", errmsg, key);
    }
    switch (n) {
    case 0: