[SATYR PATCH] Do not include unknown addresses in core stacktraces
Martin Milata
mmilata at redhat.com
Wed Jul 24 14:15:32 UTC 2013
Closes #96.
Signed-off-by: Martin Milata <mmilata at redhat.com>
---
lib/core_frame.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/lib/core_frame.c b/lib/core_frame.c
index a75f859..bb4f576 100644
--- a/lib/core_frame.c
+++ b/lib/core_frame.c
@@ -359,9 +359,13 @@ char *
sr_core_frame_to_json(struct sr_core_frame *frame)
{
struct sr_strbuf *strbuf = sr_strbuf_new();
- sr_strbuf_append_strf(strbuf,
- "{ \"address\": %"PRIu64"\n",
- frame->address);
+
+ if (frame->address != -1)
+ {
+ sr_strbuf_append_strf(strbuf,
+ ", \"address\": %"PRIu64"\n",
+ frame->address);
+ }
if (frame->build_id)
{
@@ -370,9 +374,12 @@ sr_core_frame_to_json(struct sr_core_frame *frame)
sr_strbuf_append_str(strbuf, "\n");
}
- sr_strbuf_append_strf(strbuf,
- ", \"build_id_offset\": %"PRIu64"\n",
- frame->build_id_offset);
+ if (frame->build_id_offset != -1)
+ {
+ sr_strbuf_append_strf(strbuf,
+ ", \"build_id_offset\": %"PRIu64"\n",
+ frame->build_id_offset);
+ }
if (frame->function_name)
{
@@ -395,6 +402,11 @@ sr_core_frame_to_json(struct sr_core_frame *frame)
sr_strbuf_append_str(strbuf, "\n");
}
+ if (strbuf->len > 0)
+ strbuf->buf[0] = '{';
+ else
+ sr_strbuf_append_char(strbuf, '{');
+
sr_strbuf_append_char(strbuf, '}');
return sr_strbuf_free_nobuf(strbuf);
}
--
1.7.11.7
More information about the Crash-catcher
mailing list