summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2005-08-26 12:04:55 +0000
committerFrederic Peters <fpeters@entrouvert.com>2005-08-26 12:04:55 +0000
commitc1453ec43f5ce5aba1e89d37af07817bb0b4f8a0 (patch)
treea1d68bed5c574b1f21d83dd2bc4e4cbd41dc2472
parent409e7660f02de8c8e630546a194fc91aefd6c6d8 (diff)
downloadlasso-c1453ec43f5ce5aba1e89d37af07817bb0b4f8a0.tar.gz
lasso-c1453ec43f5ce5aba1e89d37af07817bb0b4f8a0.tar.xz
lasso-c1453ec43f5ce5aba1e89d37af07817bb0b4f8a0.zip
check the query response is of the correct type
-rw-r--r--lasso/id-wsf/data_service.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lasso/id-wsf/data_service.c b/lasso/id-wsf/data_service.c
index cf22084e..47d17ac3 100644
--- a/lasso/id-wsf/data_service.c
+++ b/lasso/id-wsf/data_service.c
@@ -438,8 +438,11 @@ lasso_data_service_process_query_response_msg(LassoDataService *service, const c
rc = lasso_wsf_profile_process_soap_response_msg(LASSO_WSF_PROFILE(service), message);
if (rc) return rc;
+ if (! LASSO_IS_DST_QUERY_RESPONSE(LASSO_WSF_PROFILE(service)->response))
+ return LASSO_ERROR_UNDEFINED;
+
response = LASSO_DST_QUERY_RESPONSE(LASSO_WSF_PROFILE(service)->response);
- if (strcmp(response->Status->code, "OK") != 0)
+ if (response->Status == NULL || strcmp(response->Status->code, "OK") != 0)
return LASSO_ERROR_UNDEFINED;
return 0;