35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From e10f3c431a3bc1a94fbe9d2a14d3025550f9672e Mon Sep 17 00:00:00 2001
|
|
From: Tom Gundersen <teg@jklm.no>
|
|
Date: Tue, 16 Sep 2014 18:42:22 +0200
|
|
Subject: [PATCH] bootchart: use safe_atod() rather than strtod()
|
|
|
|
---
|
|
src/bootchart/store.c | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/bootchart/store.c b/src/bootchart/store.c
|
|
index 2d2ea428fa..ed46a503c6 100644
|
|
--- a/src/bootchart/store.c
|
|
+++ b/src/bootchart/store.c
|
|
@@ -251,6 +251,7 @@ schedstat_next:
|
|
_cleanup_fclose_ FILE *st = NULL;
|
|
char t[32];
|
|
struct ps_struct *parent;
|
|
+ int r;
|
|
|
|
ps->next_ps = new0(struct ps_struct, 1);
|
|
if (!ps->next_ps) {
|
|
@@ -310,7 +311,11 @@ schedstat_next:
|
|
if (!sscanf(m, "%*s %*s %s", t))
|
|
continue;
|
|
|
|
- ps->starttime = strtod(t, NULL) / 1000.0;
|
|
+ r = safe_atod(t, &ps->starttime);
|
|
+ if (r < 0)
|
|
+ continue;
|
|
+
|
|
+ ps->starttime /= 1000.0;
|
|
|
|
if (arg_show_cgroup)
|
|
/* if this fails, that's OK */
|