Trap integer overflow errors in search query

This just caused a database error to leak through to the user, but also
flooded the logs.
This commit is contained in:
Magnus Hagander
2016-11-09 23:00:07 +01:00
parent d9c8c089cb
commit 5cef3c44f0

View File

@ -251,13 +251,18 @@ def search(request):
}, RequestContext(request))
# perform the query for general web search
curs.execute("SELECT * FROM site_search(%(query)s, %(firsthit)s, %(hitsperpage)s, %(allsites)s, %(suburl)s)", {
try:
curs.execute("SELECT * FROM site_search(%(query)s, %(firsthit)s, %(hitsperpage)s, %(allsites)s, %(suburl)s)", {
'query': query,
'firsthit': firsthit - 1,
'hitsperpage': hitsperpage,
'allsites': allsites,
'suburl': suburl
})
except ProgrammingError:
return render_to_response('search/sitesearch.html', {
'search_error': 'Error executing search query.'
}, RequestContext(request))
hits = curs.fetchall()
conn.close()