1
0
Fork 0

Fix comparison and a warning

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4107
This commit is contained in:
Peter Veenstra 2018-05-29 08:59:49 +00:00
parent 80740117b9
commit 671ba9915e
2 changed files with 7 additions and 4 deletions

View file

@ -151,10 +151,13 @@ void SERIAL_getErrorString(char* buffer, int length) {
sysmsg_offset = strlen(err2text);
memcpy(buffer,err2text,sysmsg_offset);
}
if((length - sysmsg_offset - strlen((const char*)sysmessagebuffer)) >= 0)
// Go for length > so there will be bytes left afterwards.
// (which are 0 due to memset, thus the buffer is 0 terminated
if ( length > (sysmsg_offset + strlen((const char*)sysmessagebuffer)) ) {
memcpy(buffer + sysmsg_offset, sysmessagebuffer,
strlen((const char*)sysmessagebuffer));
strlen((const char*)sysmessagebuffer));
}
LocalFree(sysmessagebuffer);
}

View file

@ -270,7 +270,7 @@ void CSerialModem::EnterIdleState(void){
}
// get rid of everything
if(serversocket) {
while(waitingclientsocket=serversocket->Accept())
while( (waitingclientsocket=serversocket->Accept()) )
delete waitingclientsocket;
} else if (listenport) {