mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
manual: Fix backtraces code example [BZ #10441]
Validation for pointer returned by backtrace_symbols () added. Type of variables size and i is changed from size_t to int. Variable size is used to collect the result from backtrace () that is an int. i is the loop counter variable so it can be an int. Since, size_t size is changed to int size, in printf %zd is changed to %d. Reviewed-by: DJ Delorie <dj@redhat.com>
This commit is contained in:
parent
6544999083
commit
5d5b3bd94c
@ -24,17 +24,18 @@ void
|
|||||||
print_trace (void)
|
print_trace (void)
|
||||||
{
|
{
|
||||||
void *array[10];
|
void *array[10];
|
||||||
size_t size;
|
|
||||||
char **strings;
|
char **strings;
|
||||||
size_t i;
|
int size, i;
|
||||||
|
|
||||||
size = backtrace (array, 10);
|
size = backtrace (array, 10);
|
||||||
strings = backtrace_symbols (array, size);
|
strings = backtrace_symbols (array, size);
|
||||||
|
if (strings != NULL)
|
||||||
|
{
|
||||||
|
|
||||||
printf ("Obtained %zd stack frames.\n", size);
|
printf ("Obtained %d stack frames.\n", size);
|
||||||
|
|
||||||
for (i = 0; i < size; i++)
|
for (i = 0; i < size; i++)
|
||||||
printf ("%s\n", strings[i]);
|
printf ("%s\n", strings[i]);
|
||||||
|
}
|
||||||
|
|
||||||
free (strings);
|
free (strings);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user