1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Merge pull request #1336 from BuzzBurrowes/master

Fixed crash bug with mDNS
This commit is contained in:
Markus 2016-01-02 11:42:42 +01:00
commit bcfa5c8b4b

View File

@ -290,7 +290,8 @@ void MDNSResponder::_parsePacket(){
uint16_t servicePort = 0; uint16_t servicePort = 0;
char protoName[32]; char protoName[32];
uint8_t protoNameLen; protoName[0] = 0;
uint8_t protoNameLen = 0;
uint16_t packetHeader[6]; uint16_t packetHeader[6];
@ -330,7 +331,7 @@ void MDNSResponder::_parsePacket(){
serviceName[serviceNameLen] = '\0'; serviceName[serviceNameLen] = '\0';
if(serviceName[0] == '_'){ if(serviceName[0] == '_'){
memcpy(serviceName, serviceName+1, serviceNameLen); memmove(serviceName, serviceName+1, serviceNameLen);
serviceNameLen--; serviceNameLen--;
serviceParsed = true; serviceParsed = true;
} else if(serviceNameLen == 5 && strcmp("local", serviceName) == 0){ } else if(serviceNameLen == 5 && strcmp("local", serviceName) == 0){
@ -362,7 +363,7 @@ void MDNSResponder::_parsePacket(){
_conn_readS(protoName, protoNameLen); _conn_readS(protoName, protoNameLen);
protoName[protoNameLen] = '\0'; protoName[protoNameLen] = '\0';
if(protoNameLen == 4 && protoName[0] == '_'){ if(protoNameLen == 4 && protoName[0] == '_'){
memcpy(protoName, protoName+1, protoNameLen); memmove(protoName, protoName+1, protoNameLen);
protoNameLen--; protoNameLen--;
protoParsed = true; protoParsed = true;
} else { } else {
@ -494,7 +495,7 @@ void MDNSResponder::_reply(uint8_t replyMask, char * service, char *proto, uint1
size_t hostNameLen = hostName.length(); size_t hostNameLen = hostName.length();
char underscore[] = "_"; char underscore[] = "_";
// build service name with _ // build service name with _
char serviceName[os_strlen(service)+2]; char serviceName[os_strlen(service)+2];
os_strcpy(serviceName,underscore); os_strcpy(serviceName,underscore);