diff --git a/KissXML/DDXMLDocument.m b/KissXML/DDXMLDocument.m index a8b3458b..b1206e21 100644 --- a/KissXML/DDXMLDocument.m +++ b/KissXML/DDXMLDocument.m @@ -77,7 +77,7 @@ - (id)initWithXMLString:(NSString *)string options:(NSUInteger)mask error:(NSErr **/ - (id)initWithData:(NSData *)data options:(NSUInteger)mask error:(NSError **)error { - if (data == nil || [data length] == 0) + if (data == nil || [data length] == 0 || [data length] > INT_MAX) { if (error) *error = [NSError errorWithDomain:@"DDXMLErrorDomain" code:0 userInfo:nil]; @@ -91,7 +91,7 @@ - (id)initWithData:(NSData *)data options:(NSUInteger)mask error:(NSError **)err // Therefore, we call it again here just to be safe. xmlKeepBlanksDefault(0); - xmlDocPtr doc = xmlParseMemory([data bytes], [data length]); + xmlDocPtr doc = xmlParseMemory([data bytes], (int)[data length]); if (doc == NULL) { if (error) *error = [NSError errorWithDomain:@"DDXMLErrorDomain" code:1 userInfo:nil]; diff --git a/KissXML/DDXMLElement.m b/KissXML/DDXMLElement.m index 012299fe..c91a5bb8 100644 --- a/KissXML/DDXMLElement.m +++ b/KissXML/DDXMLElement.m @@ -247,12 +247,12 @@ - (NSArray *)elementsForLocalName:(NSString *)localName URI:(NSString *)uri } else { - NSString *prefix; + NSString *anotherPrefix; NSString *realLocalName; - [DDXMLNode getPrefix:&prefix localName:&realLocalName forName:localName]; + [DDXMLNode getPrefix:&anotherPrefix localName:&realLocalName forName:localName]; - return [self _elementsForName:localName localName:realLocalName prefix:prefix uri:uri]; + return [self _elementsForName:localName localName:realLocalName prefix:anotherPrefix uri:uri]; } }