From 71b4b470bd1259b28612c263631fbf6b4cbfb87f Mon Sep 17 00:00:00 2001 From: NinjaCheetah <58050615+NinjaCheetah@users.noreply.github.com> Date: Mon, 2 Feb 2026 13:46:59 -0500 Subject: [PATCH] Add handling for stray BadQueryErrors --- profiles/__init__.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/profiles/__init__.py b/profiles/__init__.py index 90f43de..2289e29 100644 --- a/profiles/__init__.py +++ b/profiles/__init__.py @@ -89,7 +89,13 @@ def home(info=None): @auth.oidc_auth("default") @before_request def user(uid=None, info=None): - return render_template("profile.html", info=info, member_info=get_member_info(uid)) + try: + return render_template("profile.html", info=info, member_info=get_member_info(uid)) + except BadQueryError as bqe: + # ldap_get_member() returns a BadQueryError if getting the user's information fails. + # Flask already treats a stray BadQueryError as a 404, but actually handling it prevents the traceback + # from getting dumped into the log. + return render_template("404.html", message=bqe), 404 @app.route("/results", methods=["POST"]) @@ -172,7 +178,10 @@ def logout(): @app.route("/image/", methods=["GET"]) def image(uid): - return get_image(uid) + try: + return get_image(uid) + except BadQueryError as bqe: + return render_template("404.html", message=bqe), 404 @app.route("/clearcache")