aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2013-02-22 19:23:25 +0100
committerBjörn-Egil Dahlberg <[email protected]>2013-02-22 19:23:25 +0100
commit4258b0f65d1b4a09e735a683872f332cf275a1fb (patch)
treeb9882edc8c461c1be030119de42741d389ba0acf
parentb3eb41a26fb7280f5e34f89040d0b63efaa732ce (diff)
parent2c6fc163c4d20f813c692f80ffe401e8bd810496 (diff)
downloadotp-4258b0f65d1b4a09e735a683872f332cf275a1fb.tar.gz
otp-4258b0f65d1b4a09e735a683872f332cf275a1fb.tar.bz2
otp-4258b0f65d1b4a09e735a683872f332cf275a1fb.zip
Merge branch 'egil/win-efile-bugfix/OTP-10890'
* egil/win-efile-bugfix/OTP-10890: erts: Use correct type for ReadFile bytes read
-rw-r--r--erts/emulator/drivers/common/efile_drv.c2
-rw-r--r--erts/emulator/drivers/win32/win_efile.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/erts/emulator/drivers/common/efile_drv.c b/erts/emulator/drivers/common/efile_drv.c
index 22328fcd11..69acfc9dfd 100644
--- a/erts/emulator/drivers/common/efile_drv.c
+++ b/erts/emulator/drivers/common/efile_drv.c
@@ -1149,7 +1149,7 @@ static void invoke_read_line(void *data)
{
struct t_data *d = (struct t_data *) data;
int status;
- size_t read_size;
+ size_t read_size = 0;
int local_loop = (d->again == 0);
DTRACE_INVOKE_SETUP(FILE_READ_LINE);
diff --git a/erts/emulator/drivers/win32/win_efile.c b/erts/emulator/drivers/win32/win_efile.c
index f2b0c8a843..1059fa5c3a 100644
--- a/erts/emulator/drivers/win32/win_efile.c
+++ b/erts/emulator/drivers/win32/win_efile.c
@@ -1159,8 +1159,11 @@ char* buf; /* Buffer to read into. */
size_t count; /* Number of bytes to read. */
size_t* pBytesRead; /* Where to return number of bytes read. */
{
- if (!ReadFile((HANDLE) fd, buf, count, (DWORD *) pBytesRead, NULL))
+ DWORD nbytes = 0;
+ if (!ReadFile((HANDLE) fd, buf, count, &nbytes, NULL))
return set_error(errInfo);
+
+ *pBytesRead = nbytes;
return 1;
}