* process.c (Fnetwork_interface_list): Check for overflow
in size calculation.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
2011-07-29 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* process.c (Fnetwork_interface_list): Check for overflow
|
||||
in size calculation.
|
||||
|
||||
* nsterm.h (struct ns_color_table.size, struct ns_color_table.avail):
|
||||
Now ptrdiff_t, not int.
|
||||
* nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes.
|
||||
|
||||
@@ -3567,6 +3567,12 @@ format; see the description of ADDRESS in `make-network-process'. */)
|
||||
return Qnil;
|
||||
|
||||
again:
|
||||
if (min (INT_MAX, min (PTRDIFF_MAX, SIZE_MAX)) / sizeof *ifreqs - 25
|
||||
< ifaces)
|
||||
{
|
||||
xfree (ifreqs);
|
||||
memory_full (SIZE_MAX);
|
||||
}
|
||||
ifaces += 25;
|
||||
buf_size = ifaces * sizeof (ifreqs[0]);
|
||||
ifreqs = (struct ifreq *)xrealloc(ifreqs, buf_size);
|
||||
|
||||
Reference in New Issue
Block a user