On Fri, Sep 26, 2014 at 10:01:31PM +0200, Thomas H.P. Andersen wrote: > From: Thomas Hindoe Paaboel Andersen <pho...@gmail.com> > > Found by coverity. Fixes: CID#996314 and #996312 > --- > src/bootchart/bootchart.c | 14 ++++++++++++-- > src/bootchart/svg.c | 6 ++++-- > 2 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c > index 8ef5ad1..e127ad3 100644 > --- a/src/bootchart/bootchart.c > +++ b/src/bootchart/bootchart.c > @@ -389,7 +389,12 @@ int main(int argc, char *argv[]) { > > if (!of && (access(arg_output_path, R_OK|W_OK|X_OK) == 0)) { > t = time(NULL); > - strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", > localtime(&t)); > + r = strftime(datestr, sizeof(datestr), > "%Y%m%d-%H%M", localtime(&t)); > + if (r <= 0) { > + log_error("Failed to format time."); > + return EXIT_FAILURE; > + }
We don't expect this to fail, ever. Maybe assert_se() would be better? (Likewise below and for the next patch...) Zbyszek > + > snprintf(output_file, PATH_MAX, > "%s/bootchart-%s.svg", arg_output_path, datestr); > of = fopen(output_file, "we"); > } > @@ -457,7 +462,12 @@ int main(int argc, char *argv[]) { > > if (!of) { > t = time(NULL); > - strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", > localtime(&t)); > + r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", > localtime(&t)); > + if (r <= 0) { > + log_error("Failed to format time."); > + return EXIT_FAILURE; > + } > + > snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", > arg_output_path, datestr); > of = fopen(output_file, "we"); > } > diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c > index 135883f..cb58246 100644 > --- a/src/bootchart/svg.c > +++ b/src/bootchart/svg.c > @@ -162,7 +162,7 @@ static void svg_title(const char *build) { > char *c; > FILE *f; > time_t t; > - int fd; > + int fd, r; > struct utsname uts; > > /* grab /proc/cmdline */ > @@ -196,7 +196,9 @@ static void svg_title(const char *build) { > > /* date */ > t = time(NULL); > - strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", > localtime(&t)); > + r = strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", > localtime(&t)); > + if (r <= 0) > + fprintf(stderr, "Failed to format time\n"); > > /* CPU type */ > fd = openat(procfd, "cpuinfo", O_RDONLY); > -- > 2.1.0 > > _______________________________________________ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel