mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-04-05 20:31:00 +08:00
Segfault fix on memo zero length multiple page
While converting memo field to string, stop processing on zero length multiple page.
This commit is contained in:
parent
95cf90d8ea
commit
a89baeacf5
@ -732,9 +732,13 @@ static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size)
|
||||
printf("row num %d start %d len %d\n",
|
||||
pg_row & 0xff, row_start, len);
|
||||
#endif
|
||||
if (tmpoff + len - 4 > memo_len) {
|
||||
if (tmpoff + len - 4 > memo_len)
|
||||
break;
|
||||
}
|
||||
|
||||
/* Stop processing on zero length multiple page memo fields */
|
||||
if (!len)
|
||||
break;
|
||||
|
||||
memcpy(tmp + tmpoff, buf + row_start + 4, len - 4);
|
||||
tmpoff += len - 4;
|
||||
} while (( pg_row = mdb_get_int32(buf, row_start) ));
|
||||
|
Loading…
Reference in New Issue
Block a user