Commit 2b33751d authored by Sergey Vojtovich's avatar Sergey Vojtovich

Applying InnoDB snapshot

Detailed revision comments:

r6868 | mmakela | 2010-03-25 13:03:08 +0200 (Thu, 25 Mar 2010) | 1 line
branches/zip: page_validate(): Check the buf[] bounds.
parent 242f45fd
...@@ -2414,8 +2414,13 @@ page_validate( ...@@ -2414,8 +2414,13 @@ page_validate(
} }
offs = page_offset(rec_get_start(rec, offsets)); offs = page_offset(rec_get_start(rec, offsets));
i = rec_offs_size(offsets);
if (UNIV_UNLIKELY(offs + i >= UNIV_PAGE_SIZE)) {
fputs("InnoDB: record offset out of bounds\n", stderr);
goto func_exit;
}
for (i = rec_offs_size(offsets); i--; ) { while (i--) {
if (UNIV_UNLIKELY(buf[offs + i])) { if (UNIV_UNLIKELY(buf[offs + i])) {
/* No other record may overlap this */ /* No other record may overlap this */
...@@ -2523,8 +2528,13 @@ n_owned_zero: ...@@ -2523,8 +2528,13 @@ n_owned_zero:
count++; count++;
offs = page_offset(rec_get_start(rec, offsets)); offs = page_offset(rec_get_start(rec, offsets));
i = rec_offs_size(offsets);
if (UNIV_UNLIKELY(offs + i >= UNIV_PAGE_SIZE)) {
fputs("InnoDB: record offset out of bounds\n", stderr);
goto func_exit;
}
for (i = rec_offs_size(offsets); i--; ) { while (i--) {
if (UNIV_UNLIKELY(buf[offs + i])) { if (UNIV_UNLIKELY(buf[offs + i])) {
fputs("InnoDB: Record overlaps another" fputs("InnoDB: Record overlaps another"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment