mirror of https://gitlab.com/litecord/litecord.git
images: return None on invalid icon data when put()-ing
- guild.emoji: send 400 on invalid icon
This commit is contained in:
parent
d9a1923e54
commit
1e368f8cc9
|
|
@ -53,6 +53,9 @@ async def _put_emoji(guild_id):
|
||||||
bsize=128 * KILOBYTES, size=(128, 128)
|
bsize=128 * KILOBYTES, size=(128, 128)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if not icon:
|
||||||
|
return '', 400
|
||||||
|
|
||||||
await app.db.execute(
|
await app.db.execute(
|
||||||
"""
|
"""
|
||||||
INSERT INTO guild_emoji
|
INSERT INTO guild_emoji
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ class IconManager:
|
||||||
b64_data: str, **kwargs) -> Icon:
|
b64_data: str, **kwargs) -> Icon:
|
||||||
"""Insert an icon."""
|
"""Insert an icon."""
|
||||||
if b64_data is None:
|
if b64_data is None:
|
||||||
return Icon(None, None, '')
|
return None
|
||||||
|
|
||||||
mime, raw_data = parse_data_uri(b64_data)
|
mime, raw_data = parse_data_uri(b64_data)
|
||||||
data_fd = BytesIO(raw_data)
|
data_fd = BytesIO(raw_data)
|
||||||
|
|
@ -213,9 +213,8 @@ class IconManager:
|
||||||
# get an extension for the given data uri
|
# get an extension for the given data uri
|
||||||
extension = _get_ext(mime)
|
extension = _get_ext(mime)
|
||||||
|
|
||||||
if 'bsize' in kwargs:
|
if 'bsize' in kwargs and len(raw_data) > kwargs['bsize']:
|
||||||
if len(raw_data) > kwargs['bsize']:
|
return None
|
||||||
return Icon(None, None, '')
|
|
||||||
|
|
||||||
if 'size' in kwargs:
|
if 'size' in kwargs:
|
||||||
image = Image.open(data_fd)
|
image = Image.open(data_fd)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue