summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 85c5f2d)
raw | patch | inline | side by side (parent: 85c5f2d)
author | Bernd Zeimetz <bzed@debian.org> | |
Sun, 24 Feb 2008 15:18:24 +0000 (16:18 +0100) | ||
committer | Bernd Zeimetz <bzed@debian.org> | |
Sun, 24 Feb 2008 15:18:24 +0000 (16:18 +0100) |
case that produces a SIGFPE (Closes: #428778). Patch created by
David MartÃnez Moreno.
David MartÃnez Moreno.
debian/changelog | patch | blob | history | |
debian/patches/bts428778-floating-point-exception | [new file with mode: 0644] | patch | blob |
debian/patches/series | patch | blob | history |
diff --git a/debian/changelog b/debian/changelog
index d810f9ded82e7e430be7e03d325dbd41a1209abb..2d55cd23391e90399de963c90703dbeb0d016a80 100644 (file)
--- a/debian/changelog
+++ b/debian/changelog
- Install rrdtool's ttf and configure rrd to use it.
* debian/patches:
- Updating patches to apply on 1.2.27.
+ - Adding debian/patches/bts428778-floating-point-exception to fix a corner
+ case that produces a SIGFPE (Closes: #428778). Patch created by
+ David MartÃnez Moreno.
- -- Bernd Zeimetz <bzed@debian.org> Sun, 24 Feb 2008 14:52:21 +0100
+ -- Bernd Zeimetz <bzed@debian.org> Sun, 24 Feb 2008 16:15:04 +0100
rrdtool (1.2.26-1) unstable; urgency=low
diff --git a/debian/patches/bts428778-floating-point-exception b/debian/patches/bts428778-floating-point-exception
--- /dev/null
@@ -0,0 +1,20 @@
+Index: rrdtool/src/rrd_create.c
+===================================================================
+--- rrdtool.orig/src/rrd_create.c 2008-02-24 16:12:49.000000000 +0100
++++ rrdtool/src/rrd_create.c 2008-02-24 16:13:34.000000000 +0100
+@@ -619,6 +619,15 @@
+ default:
+ /* can not be zero because we don't know anything ... */
+ rrd->cdp_prep->scratch[CDP_val].u_val = DNAN;
++ /* If the step is 0, we're going to have a BIG Floating Point Exception (i.e. SIGFPE). */
++ /* Example: (( 1202705167 - 67 ) % ( 300 * 0 )) / 300 */
++ if (rrd->rra_def[i].pdp_cnt == 0)
++ {
++ rrd_set_error("Invalid step: must be greater than 0.");
++ rrd_free(rrd);
++ fclose(rrd_file);
++ return(-1);
++ }
+ /* startup missing pdp count */
+ rrd->cdp_prep->scratch[CDP_unkn_pdp_cnt].u_cnt =
+ ((rrd->live_head->last_up -
diff --git a/debian/patches/series b/debian/patches/series
index 8648bacc50840e2dc7e381b7c3f2a0dadcd9f30e..69cecaaf69d7d1e3dd0691a382f19e6017caaff2 100644 (file)
--- a/debian/patches/series
+++ b/debian/patches/series
+bts428778-floating-point-exception
setup.py-module-name
no-rpath-for-ruby
no-rpath-for-perl