forked from enlightenment/efl
eina log - handle possible overflow from high mem (last few bytes) or env
fixes CID 1361219 if you had an env var a few gb in size or we had stuff in the last bit of memory address space this might be an issue, but that won't happen. @fix
This commit is contained in:
parent
20c6bd296b
commit
83752435cf
|
@ -1021,9 +1021,12 @@ eina_log_domain_parse_pending_globs(void)
|
||||||
level = strtol((char *)(end + 1), &tmp, 10);
|
level = strtol((char *)(end + 1), &tmp, 10);
|
||||||
if (tmp == (end + 1))
|
if (tmp == (end + 1))
|
||||||
goto parse_end;
|
goto parse_end;
|
||||||
|
// If the name of the log is more than 64k it's silly so give up
|
||||||
|
// as it's pointless and in theory could overflow pointer
|
||||||
|
if ((end - start) > 0xffff)
|
||||||
|
break;
|
||||||
// Parse name
|
// Parse name
|
||||||
p = malloc(sizeof(Eina_Log_Domain_Level_Pending) + end - start + 1);
|
p = malloc(sizeof(Eina_Log_Domain_Level_Pending) + (end - start) + 1);
|
||||||
if (!p)
|
if (!p)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue