mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
c7211882a7
Without this it's very easy to create virtually huge files: ftruncate expands a file, the pwrites fail with ENOSPC, thus the write fails. The next writer runs into the same situation, and ftruncate-expands the file even further. tdb_check will then spend ages reading the 4GB of zeros byte by byte. Here we hold the freelist lock or are inside a transaction, so it is safe to cut the file again. Nobody can have used the space that we have tried to allocate, so we can't have any stray pointers corrupting the database. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>