Fix various Missing Null checks

For https://bugzilla.gnome.org/show_bug.cgi?id=732823
This commit is contained in:
Gaurav Gupta 2014-07-14 17:50:27 +08:00 committed by Daniel Veillard
parent c836ba66e5
commit 1811add768
3 changed files with 17 additions and 8 deletions

3
hash.c
View File

@ -984,6 +984,9 @@ xmlHashCopy(xmlHashTablePtr table, xmlHashCopier f) {
return(NULL);
ret = xmlHashCreate(table->size);
if (ret == NULL)
return(NULL);
if (table->table) {
for(i = 0; i < table->size; i++) {
if (table->table[i].valid == 0)

View File

@ -1244,7 +1244,13 @@ xmlNanoFTPConnectTo(const char *server, int port) {
if (port <= 0)
return(NULL);
ctxt = (xmlNanoFTPCtxtPtr) xmlNanoFTPNewCtxt(NULL);
if (ctxt == NULL)
return(NULL);
ctxt->hostname = xmlMemStrdup(server);
if (ctxt->hostname == NULL) {
xmlNanoFTPFreeCtxt(ctxt);
return(NULL);
}
if (port != 0)
ctxt->port = port;
res = xmlNanoFTPConnect(ctxt);
@ -1321,8 +1327,8 @@ xmlNanoFTPDele(void *ctx, const char *file) {
int len;
int res;
if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET) || (file == NULL)) return(-1);
if (file == NULL) return (0);
if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET) ||
(file == NULL)) return(-1);
/*
* Expected response code for DELE:

View File

@ -1363,17 +1363,17 @@ xmlNanoHTTPMethodRedir(const char *URL, const char *method, const char *input,
xmlNanoHTTPInit();
retry:
if (redirURL == NULL)
if (redirURL == NULL) {
ctxt = xmlNanoHTTPNewCtxt(URL);
else {
if (ctxt == NULL)
return(NULL);
} else {
ctxt = xmlNanoHTTPNewCtxt(redirURL);
if (ctxt == NULL)
return(NULL);
ctxt->location = xmlMemStrdup(redirURL);
}
if ( ctxt == NULL ) {
return ( NULL );
}
if ((ctxt->protocol == NULL) || (strcmp(ctxt->protocol, "http"))) {
__xmlIOErr(XML_FROM_HTTP, XML_HTTP_URL_SYNTAX, "Not a valid HTTP URI");
xmlNanoHTTPFreeCtxt(ctxt);