[4.1] 8b59fe4 Make the santity check of backtrace(3) returns even more robust.
Lasse Karstensen
lkarsten at varnish-software.com
Tue Jun 14 12:58:08 CEST 2016
commit 8b59fe4063c6051e7c15baa82985d315afdb74c6
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 4951c51..6a55208 100644
--- a/bin/varnishd/cache/cache_panic.c
+++ b/bin/varnishd/cache/cache_panic.c
@@ -414,18 +414,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