images: return None on invalid icon data when put()-ing

- guild.emoji: send 400 on invalid icon
This commit is contained in:
Luna Mendes 2018-11-17 18:21:20 -03:00
parent d9a1923e54
commit 1e368f8cc9
2 changed files with 6 additions and 4 deletions

View File

@ -53,6 +53,9 @@ async def _put_emoji(guild_id):
bsize=128 * KILOBYTES, size=(128, 128)
)
if not icon:
return '', 400
await app.db.execute(
"""
INSERT INTO guild_emoji

View File

@ -205,7 +205,7 @@ class IconManager:
b64_data: str, **kwargs) -> Icon:
"""Insert an icon."""
if b64_data is None:
return Icon(None, None, '')
return None
mime, raw_data = parse_data_uri(b64_data)
data_fd = BytesIO(raw_data)
@ -213,9 +213,8 @@ class IconManager:
# get an extension for the given data uri
extension = _get_ext(mime)
if 'bsize' in kwargs:
if len(raw_data) > kwargs['bsize']:
return Icon(None, None, '')
if 'bsize' in kwargs and len(raw_data) > kwargs['bsize']:
return None
if 'size' in kwargs:
image = Image.open(data_fd)