diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2005-08-25 08:52:08 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2005-08-25 08:52:08 +0000 |
| commit | 7b8936409c17d35da05a7d0e6d9a1cdbd5321a67 (patch) | |
| tree | fb915ae06564fb1b14ffb9f15fcbfd5c64e80be1 | |
| parent | f9fea16807166b06e1c551691303679e160b00e0 (diff) | |
add_query_item must checks the query has been created.
| -rw-r--r-- | lasso/id-wsf/data_service.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lasso/id-wsf/data_service.c b/lasso/id-wsf/data_service.c index 17232e39..88e2360b 100644 --- a/lasso/id-wsf/data_service.c +++ b/lasso/id-wsf/data_service.c @@ -87,10 +87,16 @@ lasso_data_service_add_query_item(LassoDataService *service, g_return_val_if_fail(LASSO_IS_PROFILE_SERVICE(service), NULL); g_return_val_if_fail(select != NULL, NULL); - query = LASSO_DST_QUERY(LASSO_WSF_PROFILE(service)->request); + if (! LASSO_IS_DST_QUERY(LASSO_WSF_PROFILE(service)->request)) { + return NULL; + } - if (LASSO_DST_QUERY_ITEM(query->QueryItem->data)->itemID == NULL) { - /* XXX: all items must have itemID if there is more than one */ + query = LASSO_DST_QUERY(LASSO_WSF_PROFILE(service)->request); + + if (query->QueryItem && query->QueryItem->data && + LASSO_DST_QUERY_ITEM(query->QueryItem->data)->itemID == NULL) { + /* XXX: all items must have itemID if there is more than one, + * perhaps we could generate an item id for those lacking it */ return NULL; } |
