mirror of https://github.com/OpenVPN/openvpn-gui
Add missing WINAPI in the definition of HandleServiceIO
WINAPI is __stdcall in 32 bit windows (ignored in 64 bit) causing this bug to show up in the 32 bit version only. Also fix out-of-bounds write of ovpn_version[] in openvpn.c Resolves Trac #758 Signed-off-by: Selva Nair <selva.nair@gmail.com>pull/95/head
parent
19ada91d85
commit
1ec6c6cd12
|
@ -655,7 +655,7 @@ InitServiceIO (service_io_t *s)
|
|||
* Read-completion routine for interactive service pipe. Call with
|
||||
* err = 0, bytes = 0 to queue the first read request.
|
||||
*/
|
||||
static void
|
||||
static void WINAPI
|
||||
HandleServiceIO (DWORD err, DWORD bytes, LPOVERLAPPED lpo)
|
||||
{
|
||||
service_io_t *s = (service_io_t *) lpo;
|
||||
|
@ -680,7 +680,7 @@ HandleServiceIO (DWORD err, DWORD bytes, LPOVERLAPPED lpo)
|
|||
}
|
||||
|
||||
/* queue next read request */
|
||||
ReadFileEx (s->pipe, s->readbuf, capacity, lpo, (LPOVERLAPPED_COMPLETION_ROUTINE) HandleServiceIO);
|
||||
ReadFileEx (s->pipe, s->readbuf, capacity, lpo, HandleServiceIO);
|
||||
/* Any error in the above call will get checked in next round */
|
||||
}
|
||||
|
||||
|
@ -1437,7 +1437,7 @@ CheckVersion()
|
|||
retval = TRUE;
|
||||
p = strtok(p+8, " ");
|
||||
strncpy(o.ovpn_version, p, _countof(o.ovpn_version)-1);
|
||||
o.ovpn_version[_countof(o.ovpn_version)] = '\0';
|
||||
o.ovpn_version[_countof(o.ovpn_version)-1] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue