Null bytes crashing server
Opened this issue · 0 comments
pipermerriam commented
What is wrong?
Traceback (most recent call last):
File "/home/web/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3.7/contextlib.py", line 74, in inner
return func(*args, **kwds)
File "/home/web/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/viewsets.py", line 87, in view
return self.dispatch(request, *args, **kwargs)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/views.py", line 466, in dispatch
response = self.handle_exception(exc)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/views.py", line 463, in dispatch
response = handler(request, *args, **kwargs)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/mixins.py", line 42, in list
page = self.paginate_queryset(queryset)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/generics.py", line 172, in paginate_queryset
return self.paginator.paginate_queryset(queryset, self.request, view=self)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/pagination.py", line 206, in paginate_queryset
self.page = paginator.page(page_number)
File "/home/web/venv/lib/python3.7/site-packages/django/core/paginator.py", line 50, in page
number = self.validate_number(number)
File "/home/web/venv/lib/python3.7/site-packages/django/core/paginator.py", line 39, in validate_number
if number > self.num_pages:
File "/home/web/venv/lib/python3.7/site-packages/django/core/paginator.py", line 86, in _get_num_pages
if self.count == 0 and not self.allow_empty_first_page:
File "/home/web/venv/lib/python3.7/site-packages/django/core/paginator.py", line 72, in _get_count
self._count = self.object_list.count()
File "/home/web/venv/lib/python3.7/site-packages/django/db/models/query.py", line 371, in count
return self.query.get_count(using=self.db)
File "/home/web/venv/lib/python3.7/site-packages/django/db/models/sql/query.py", line 483, in get_count
number = obj.get_aggregation(using, ['__count'])['__count']
File "/home/web/venv/lib/python3.7/site-packages/django/db/models/sql/query.py", line 464, in get_aggregation
result = compiler.execute_sql(SINGLE)
File "/home/web/venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 848, in execute_sql
cursor.execute(sql, params)
File "/home/web/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
ValueError: A string literal cannot contain NUL (0x00) characters.
This bubbled out of production causing a 500 error
How can it be fixed
Exception handling or maybe better database normalization.