Hi guys!

I'm looking at libiberty's use of alloca() and trying to place some bounded checks at alloca() call points.

Silly question, do we have any users of regex.c with REGEX_MALLOC set? I don't see any #define for REGEX_MALLOC anywhere in binutils or gcc, and it doesn't look like autoconf magic being set elsewhere.

The only reference I see to REGEX_MALLOC is in libiberty/regex.c:

/* Should we use malloc or alloca?  If REGEX_MALLOC is not defined, we
   use `alloca' instead of `malloc'.  This is because using malloc in
   re_search* or re_match* could cause memory leaks when C-g is used in
   Emacs; also, malloc is slower and causes storage fragmentation.  On
   the other hand, malloc is more portable, and easier to debug.

Not that it matters, but I see that the emacs source has its own variant of this file (emacs-24.5/src/regex.c). So it's not like emacs is using libiberty or anything.

Another silly question, who are libiberty's consumers? GCC and binutils/gdb? Or should I be looking at additional packages for answers?

If the REGEX_MALLOC mode in regex.c is unused, can I rip it out? I'd like to replace it all with alloca with a malloc fallback.

Sorry for the newbie questions, but I don't think I've ever had the... ahmmm.. privilege of playing in libiberty land :-).

Thanks.
Aldy

Reply via email to