diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/tss.c | 7 | 
1 files changed, 4 insertions, 3 deletions
@@ -1188,6 +1188,7 @@ plist_t tss_request_send(plist_t tss_request, const char* server_url_string) {  			// no status code in response. retry  			free(response->content);  			free(response); +			response = NULL;  			sleep(2);  			continue;  		} else if (status_code == 8) { @@ -1211,15 +1212,15 @@ plist_t tss_request_send(plist_t tss_request, const char* server_url_string) {  	}  	if (status_code != 0) { -		if (strstr(response->content, "MESSAGE=") != NULL) { +		if (response && strstr(response->content, "MESSAGE=") != NULL) {  			char* message = strstr(response->content, "MESSAGE=") + strlen("MESSAGE=");  			error("ERROR: TSS request failed (status=%d, message=%s)\n", status_code, message);  		} else {  			error("ERROR: TSS request failed: %s (status=%d)\n", curl_error_message, status_code);  		}  		free(request); -		free(response->content); -		free(response); +		if (response) free(response->content); +		if (response) free(response);  		return NULL;  	}  | 
