Bug #25761 Table is partially created when disk is full, causing database corruption

mysys/my_copy.c:
  my_copy now deletes any partially copied file if the copy fails to complete.
This commit is contained in:
unknown 2007-04-19 13:41:12 -04:00
parent ff2e7f450b
commit 32da38eb4e

View file

@ -111,6 +111,11 @@ int my_copy(const char *from, const char *to, myf MyFlags)
err:
if (from_file >= 0) VOID(my_close(from_file,MyFlags));
if (to_file >= 0) VOID(my_close(to_file,MyFlags));
if (to_file >= 0)
{
VOID(my_close(to_file, MyFlags));
/* attempt to delete the to-file we've partially written */
VOID(my_delete(to, MyFlags));
}
DBUG_RETURN(-1);
} /* my_copy */