+2013-10-30 Ondřej Bílka <neleai@seznam.cz>
+
+ [BZ 15799]
+ * stdlib/div.c (div): Remove obsolete code.
+ * stdlib/ldiv.c (ldiv): Likewise.
+ * stdlib/lldiv.c (lldiv): Likewise.
+
2013-10-30 Siddhesh Poyarekar <siddhesh@redhat.com>
[BZ #16071]
14547, 14699, 14876, 14910, 15048, 15218, 15277, 15308, 15362, 15400,
15427, 15522, 15531, 15532, 15608, 15609, 15610, 15632, 15640, 15670,
15672, 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754,
- 15760, 15764, 15797, 15825, 15844, 15847, 15849, 15855, 15856, 15857,
- 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905,
- 15909, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15988, 16032,
- 16034, 16036, 16041, 16071, 16072, 16074, 16078.
+ 15760, 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856,
+ 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897,
+ 15905, 15909, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15988,
+ 16032, 16034, 16036, 16041, 16071, 16072, 16074, 16078.
* CVE-2012-4412 The strcoll implementation caches indices and rules for
large collation sequences to optimize multiple passes. This cache
result.quot = numer / denom;
result.rem = numer % denom;
- /* The ANSI standard says that |QUOT| <= |NUMER / DENOM|, where
- NUMER / DENOM is to be computed in infinite precision. In
- other words, we should always truncate the quotient towards
- zero, never -infinity. Machine division and remainer may
- work either way when one or both of NUMER or DENOM is
- negative. If only one is negative and QUOT has been
- truncated towards -infinity, REM will have the same sign as
- DENOM and the opposite sign of NUMER; if both are negative
- and QUOT has been truncated towards -infinity, REM will be
- positive (will have the opposite sign of NUMER). These are
- considered `wrong'. If both are NUM and DENOM are positive,
- RESULT will always be positive. This all boils down to: if
- NUMER >= 0, but REM < 0, we got the wrong answer. In that
- case, to get the right answer, add 1 to QUOT and subtract
- DENOM from REM. */
-
- if (numer >= 0 && result.rem < 0)
- {
- ++result.quot;
- result.rem -= denom;
- }
-
return result;
}
result.quot = numer / denom;
result.rem = numer % denom;
- /* The ANSI standard says that |QUOT| <= |NUMER / DENOM|, where
- NUMER / DENOM is to be computed in infinite precision. In
- other words, we should always truncate the quotient towards
- zero, never -infinity. Machine division and remainer may
- work either way when one or both of NUMER or DENOM is
- negative. If only one is negative and QUOT has been
- truncated towards -infinity, REM will have the same sign as
- DENOM and the opposite sign of NUMER; if both are negative
- and QUOT has been truncated towards -infinity, REM will be
- positive (will have the opposite sign of NUMER). These are
- considered `wrong'. If both are NUM and DENOM are positive,
- RESULT will always be positive. This all boils down to: if
- NUMER >= 0, but REM < 0, we got the wrong answer. In that
- case, to get the right answer, add 1 to QUOT and subtract
- DENOM from REM. */
-
- if (numer >= 0 && result.rem < 0)
- {
- ++result.quot;
- result.rem -= denom;
- }
-
return result;
}
result.quot = numer / denom;
result.rem = numer % denom;
- /* The ANSI standard says that |QUOT| <= |NUMER / DENOM|, where
- NUMER / DENOM is to be computed in infinite precision. In
- other words, we should always truncate the quotient towards
- zero, never -infinity. Machine division and remainer may
- work either way when one or both of NUMER or DENOM is
- negative. If only one is negative and QUOT has been
- truncated towards -infinity, REM will have the same sign as
- DENOM and the opposite sign of NUMER; if both are negative
- and QUOT has been truncated towards -infinity, REM will be
- positive (will have the opposite sign of NUMER). These are
- considered `wrong'. If both are NUM and DENOM are positive,
- RESULT will always be positive. This all boils down to: if
- NUMER >= 0, but REM < 0, we got the wrong answer. In that
- case, to get the right answer, add 1 to QUOT and subtract
- DENOM from REM. */
-
- if (numer >= 0 && result.rem < 0)
- {
- ++result.quot;
- result.rem -= denom;
- }
-
return result;
}