From 7fddca6fb00eb8eed60b4ad7f74357bfddd20440 Mon Sep 17 00:00:00 2001 From: Sean Morley <98704938+seanmorley15@users.noreply.github.com> Date: Fri, 23 May 2025 23:13:31 -0400 Subject: [PATCH] Potential fix for code scanning alert no. 16: Information exposure through an exception Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- backend/server/adventures/geocoding.py | 15 ++++++++++----- .../adventures/views/reverse_geocode_view.py | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/backend/server/adventures/geocoding.py b/backend/server/adventures/geocoding.py index 5e5aafa..2a8abaa 100644 --- a/backend/server/adventures/geocoding.py +++ b/backend/server/adventures/geocoding.py @@ -84,12 +84,17 @@ def reverse_geocode(lat, lon, user): return extractIsoCode(user, data) except requests.exceptions.ConnectionError as e: - return {"error": "Could not connect to geocoding service"} + log_error(f"ConnectionError in reverse_geocode: {e}") + return {"error": "An internal error occurred while processing the request"} except requests.exceptions.Timeout as e: - return {"error": "Geocoding service timed out"} + log_error(f"Timeout in reverse_geocode: {e}") + return {"error": "An internal error occurred while processing the request"} except requests.exceptions.HTTPError as e: - return {"error": f"HTTP error from geocoding service: {e}"} + log_error(f"HTTPError in reverse_geocode: {e}") + return {"error": "An internal error occurred while processing the request"} except requests.exceptions.JSONDecodeError as e: - return {"error": "Invalid response from geocoding service"} + log_error(f"JSONDecodeError in reverse_geocode: {e}") + return {"error": "An internal error occurred while processing the request"} except Exception as e: - return {"error": f"Unexpected geocoding error: {str(e)}"} \ No newline at end of file + log_error(f"Unexpected error in reverse_geocode: {e}") + return {"error": "An internal error occurred while processing the request"} \ No newline at end of file diff --git a/backend/server/adventures/views/reverse_geocode_view.py b/backend/server/adventures/views/reverse_geocode_view.py index d876787..73e9088 100644 --- a/backend/server/adventures/views/reverse_geocode_view.py +++ b/backend/server/adventures/views/reverse_geocode_view.py @@ -25,7 +25,7 @@ class ReverseGeocodeViewSet(viewsets.ViewSet): return Response({"error": "Invalid latitude or longitude"}, status=400) data = reverse_geocode(lat, lon, self.request.user) if 'error' in data: - return Response(data, status=400) + return Response({"error": "An internal error occurred while processing the request"}, status=400) return Response(data) @action(detail=False, methods=['post'])