The ALLOCA(3) man-page mentions its "use is discouraged".
Replace few calls by equivalent GLib malloc().
Except g_alloc and g_malloc are not at all the same, and you can't drop in replace one with the other.
g_alloc allocates stack space on the calling frame that's automatically freed when the function returns.
g_malloc allocates space from the heap, and calls to it must be matched with calls to g_free().
These patches don't do the latter, as far as I can tell, and so introduce memory leaks unless there's something I've missed.
Warner
Last call site is linux-user/.
Since v1:
- Converted more uses (alsaaudio, tpm, pca9552)
- Reworked gdbstub (Alex)
- Simplified PPC/KVM (Greg)
Philippe Mathieu-Daudé (9):
audio/alsaaudio: Replace ALSA alloca() by malloc() equivalent
backends/tpm: Replace qemu_mutex_lock calls with QEMU_LOCK_GUARD
backends/tpm: Replace g_alloca() by g_malloc()
bsd-user/syscall: Replace alloca() by g_new()
gdbstub: Constify GdbCmdParseEntry
gdbstub: Only call cmd_parse_params() with non-NULL command schema
gdbstub: Replace alloca() + memset(0) by g_new0()
hw/misc/pca9552: Replace g_newa() by g_new()
target/ppc/kvm: Replace alloca() by g_malloc()
audio/alsaaudio.c | 11 +++++++----
backends/tpm/tpm_emulator.c | 35 +++++++++++++++--------------------
bsd-user/syscall.c | 3 +--
gdbstub.c | 34 +++++++++++++++-------------------
hw/misc/pca9552.c | 2 +-
target/ppc/kvm.c | 3 +--
6 files changed, 40 insertions(+), 48 deletions(-)
--
2.26.3