Reject presence updates with too long keys, instead of truncating them
and causing soft assertion failures. Values are still silently truncated though.
This commit is contained in:
parent
7919c03041
commit
50325a6667
1 changed files with 9 additions and 0 deletions
|
@ -79,6 +79,12 @@ m_presence(struct Client *client_p, struct Client *source_p, int parc, const cha
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (strlen(parv[1]) >= METADATAKEYLEN)
|
||||
{
|
||||
sendto_one_notice(source_p, ":Metadata key too long");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((val = get_metadata(source_p, parv[1])) != NULL)
|
||||
{
|
||||
if (!strcmp(parv[2], val))
|
||||
|
@ -114,6 +120,9 @@ me_presence(struct Client *client_p, struct Client *source_p, int parc, const ch
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (strlen(parv[1]) >= METADATAKEYLEN)
|
||||
return 0;
|
||||
|
||||
if ((val = get_metadata(source_p, parv[1])) != NULL)
|
||||
{
|
||||
if (!strcmp(parv[2], val))
|
||||
|
|
Loading…
Reference in a new issue