ITS#7959 Check fstat return value

Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
vl32b
Jean-Christophe DUBOIS 10 years ago committed by Howard Chu
parent 461d9c8f34
commit d77e3ddb4d
  1. 13
      libraries/liblmdb/mdb.c

@ -8724,14 +8724,23 @@ mdb_env_copyfd0(MDB_env *env, HANDLE fd)
#ifdef WIN32 #ifdef WIN32
{ {
LARGE_INTEGER fsize; LARGE_INTEGER fsize;
GetFileSizeEx(env->me_fd, &fsize);
if (!GetFileSizeEx(env->me_fd, &fsize)) {
rc = ErrCode();
goto leave;
}
if (w2 > fsize.QuadPart) if (w2 > fsize.QuadPart)
w2 = fsize.QuadPart; w2 = fsize.QuadPart;
} }
#else #else
{ {
struct stat st; struct stat st;
fstat(env->me_fd, &st);
if ((rc = fstat(env->me_fd, &st))) {
goto leave;
}
if (w2 > (size_t)st.st_size) if (w2 > (size_t)st.st_size)
w2 = st.st_size; w2 = st.st_size;
} }

Loading…
Cancel
Save