]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - bind/patches/bind-9.5-overflow.patch
bind: Rework package.
[ipfire-3.x.git] / bind / patches / bind-9.5-overflow.patch
diff --git a/bind/patches/bind-9.5-overflow.patch b/bind/patches/bind-9.5-overflow.patch
new file mode 100644 (file)
index 0000000..34b7bed
--- /dev/null
@@ -0,0 +1,24 @@
+diff -up bind-9.5.0a5/lib/isc/pthreads/condition.c.overflow bind-9.5.0a5/lib/isc/pthreads/condition.c
+--- bind-9.5.0a5/lib/isc/pthreads/condition.c.overflow 2007-07-17 07:53:59.000000000 +0200
++++ bind-9.5.0a5/lib/isc/pthreads/condition.c  2007-07-17 07:55:08.000000000 +0200
+@@ -43,7 +43,7 @@ isc_condition_waituntil(isc_condition_t 
+        * POSIX defines a timespec's tv_sec as time_t.
+        */
+       result = isc_time_secondsastimet(t, &ts.tv_sec);
+-      if (result != ISC_R_SUCCESS)
++      if (result != ISC_R_RANGE && result != ISC_R_SUCCESS)
+               return (result);
+       /*!
+diff -up bind-9.5.0a5/lib/isc/unix/time.c.overflow bind-9.5.0a5/lib/isc/unix/time.c
+--- bind-9.5.0a5/lib/isc/unix/time.c.overflow  2007-02-14 01:27:27.000000000 +0100
++++ bind-9.5.0a5/lib/isc/unix/time.c   2007-07-17 07:53:08.000000000 +0200
+@@ -379,6 +379,9 @@ isc_time_secondsastimet(const isc_time_t
+                * (Let's hope the compiler got the actual test right.)
+                */
+               UNUSED(i);
++
++              /* Means that t->seconds > maximum value in time_t and we have int time_t */
++              seconds = INT_MAX;
+               return (ISC_R_RANGE);
+       }