>     int backtrace(void **buffer, int size);
>     char **backtrace_symbols(void *const *buffer, int size);
>     void backtrace_symbols_fd(void *const *buffer, int size, int fd);
>     int addrtosymstr(uintptr_t addr, char *buffer, int len);

Shouldn't the "int"s here that refer to buffer sizes be "size_t"s or
"ssize_t"s instead?  Or is there really an intent here to limit these
buffer sizes to 32 bits on 64-bit architectures?

Do any of these functions ever fail?  I see no mention of error returns
nor of errno settings.  If would seem like attempts to backtrace
through a corrupted stack could lead to failures.

        Cheers,
        Don

Reply via email to