]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Only set rcode if it's currently OK
authorNick Porter <nick@portercomputing.co.uk>
Fri, 11 Oct 2024 13:52:19 +0000 (14:52 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Fri, 11 Oct 2024 13:59:17 +0000 (14:59 +0100)
src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c
src/modules/rlm_sql/rlm_sql_trunk.h

index 347e5148ee602e35e48a37e8fd93299b1bf03e6b..b6b2e4b1d821c23e137c52205c3c1e390813ef8e 100644 (file)
@@ -652,7 +652,7 @@ static void sql_request_fail(UNUSED request_t *request, void *preq, UNUSED void
        fr_sql_query_t          *query_ctx = talloc_get_type_abort(preq, fr_sql_query_t);
 
        query_ctx->treq = NULL;
-       query_ctx->rcode = RLM_SQL_ERROR;
+       if (query_ctx->rcode == RLM_SQL_OK) query_ctx->rcode = RLM_SQL_ERROR;
 }
 
 static void sql_request_complete(UNUSED request_t *request, void *preq, UNUSED void *rctx, UNUSED void *uctx)
index 92200096d065e7f5ae007f1b114426170d39e424..bcd9c641a4a128de27aa5f2a207089c730ec63c8 100644 (file)
@@ -67,6 +67,6 @@ static void sql_request_fail(request_t *request, void *preq, UNUSED void *rctx,
 { \
        fr_sql_query_t  *query_ctx = talloc_get_type_abort(preq, fr_sql_query_t); \
        query_ctx->treq = NULL; \
-       query_ctx->rcode = RLM_SQL_ERROR; \
+       if (query_ctx->rcode == RLM_SQL_OK) query_ctx->rcode = RLM_SQL_ERROR; \
        if (request) unlang_interpret_mark_runnable(request); \
 }