Skip to content

Uploading a xz file as Binary content crashes moin #2064

@sebix

Description

@sebix
  1. Go to a non-existing page
  2. Select content type Binary File
  3. Upload a xz-file
  4. Get an Internal Server Error

Traceback:

2025-12-08 13:13:29,949 ERROR moin:875 Exception on /+modify/Test [POST]
Traceback (most recent call last):
  File "/home/user/dev/moin-venv-python3/lib64/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/user/dev/moin-venv-python3/lib64/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/user/dev/moin-venv-python3/lib64/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/user/dev/moin-venv-python3/lib64/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/user/dev/moin/src/moin/apps/frontend/views.py", line 923, in modify_item
    ret = item.do_modify(item_may=item_may)
  File "/home/user/dev/moin/src/moin/items/__init__.py", line 1679, in do_modify
    self.modify(meta, data, comment, contenttype_guessed, **{CONTENTTYPE: contenttype_qs})
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/dev/moin/src/moin/items/__init__.py", line 972, in modify
    return self._save(meta, data, contenttype_guessed=contenttype_guessed, comment=comment)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/dev/moin/src/moin/items/__init__.py", line 1146, in _save
    charset = meta[CONTENTTYPE].split("charset=")[1]
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

On version 2.0.0b4-102-g3388bc6b

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions