[master] 367b5e1 Make the santity check of backtrace(3) returns even more robust.
Poul-Henning Kamp
phk at FreeBSD.org
Mon May 30 10:43:05 CEST 2016
commit 367b5e1c668bc57436af367f913c6220591c785a
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Mon May 30 07:50:34 2016 +0000
Make the santity check of backtrace(3) returns even more robust.
diff --git a/bin/varnishd/cache/cache_panic.c b/bin/varnishd/cache/cache_panic.c
index 5657535..b3171f9 100644
--- a/bin/varnishd/cache/cache_panic.c
+++ b/bin/varnishd/cache/cache_panic.c
@@ -512,18 +512,20 @@ pan_sess(struct vsb *vsb, const struct sess *sp)
/*--------------------------------------------------------------------*/
+#define BACKTRACE_LEVELS 10
+
static void
pan_backtrace(struct vsb *vsb)
{
- void *array[10];
- ssize_t size;
- ssize_t i;
+ void *array[BACKTRACE_LEVELS];
+ size_t size;
+ size_t i;
char **strings;
char *p;
- size = backtrace (array, 10);
- if (size <= 0) {
- VSB_printf(vsb, "Backtrace not available (%zd)\n", size);
+ size = backtrace (array, BACKTRACE_LEVELS);
+ if (size > BACKTRACE_LEVELS) {
+ VSB_printf(vsb, "Backtrace not available (ret=%zu)\n", size);
return;
}
VSB_printf(vsb, "Backtrace:\n");
More information about the varnish-commit
mailing list