CVE-2014-3480.patch 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. made apply cleanly based on
  2. commit 40bade80cbe2af1d0b2cd0420cebd5d5905a2382
  3. Author: Christos Zoulas <christos@zoulas.com>
  4. Date: Wed Jun 4 17:23:19 2014 +0000
  5. Fix incorrect bounds check for sector count. (Francisco Alonso and Jan Kaluza
  6. at RedHat)
  7. diff --git a/src/cdf.c b/src/cdf.c
  8. index 375406c..6652581 100644
  9. --- a/src/cdf.c
  10. +++ b/src/cdf.c
  11. @@ -460,7 +460,8 @@ size_t
  12. cdf_count_chain(const cdf_sat_t *sat, cdf_secid_t sid, size_t size)
  13. {
  14. size_t i, j;
  15. - cdf_secid_t maxsector = (cdf_secid_t)(sat->sat_len * size);
  16. + cdf_secid_t maxsector = (cdf_secid_t)((sat->sat_len * size)
  17. + / sizeof(maxsector));
  18. DPRINTF(("Chain:"));
  19. for (j = i = 0; sid >= 0; i++, j++) {
  20. @@ -470,8 +470,8 @@ cdf_count_chain(const cdf_sat_t *sat, cdf_secid_t sid, size_t size)
  21. errno = EFTYPE;
  22. return (size_t)-1;
  23. }
  24. - if (sid > maxsector) {
  25. - DPRINTF(("Sector %d > %d\n", sid, maxsector));
  26. + if (sid >= maxsector) {
  27. + DPRINTF(("Sector %d >= %d\n", sid, maxsector));
  28. errno = EFTYPE;
  29. return (size_t)-1;
  30. }