# HG changeset patch # User Olaf Wintermann # Date 1694075357 -7200 # Node ID f9d6e4cbcb626d33657c1faa7176e109f1e623b8 # Parent 645f7e802873d4d46fd039ef7ca8f375f1749f7b return NULL when a davql query fails diff -r 645f7e802873 -r f9d6e4cbcb62 libidav/davqlexec.c --- a/libidav/davqlexec.c Thu Aug 10 09:40:54 2023 +0200 +++ b/libidav/davqlexec.c Thu Sep 07 10:29:17 2023 +0200 @@ -631,7 +631,8 @@ CURLcode ret = do_propfind_request(sn, rqbuf, rpbuf); long http_status = 0; curl_easy_getinfo(sn->handle, CURLINFO_RESPONSE_CODE, &http_status); - //printf("rpbuf: %s %s\n%.*s\n\n", sr->resource->path, sr->resource->href, rpbuf->pos, rpbuf->space); + //printf("rpbuf: %s\n%.*s\n\n", root->href, (int)rpbuf->size, rpbuf->space); + //fflush(stdout); if(ret == CURLE_OK && http_status == 207) { // in case of an redirect we have to adjust resource->href diff -r 645f7e802873 -r f9d6e4cbcb62 libidav/webdav.c --- a/libidav/webdav.c Thu Aug 10 09:40:54 2023 +0200 +++ b/libidav/webdav.c Thu Sep 07 10:29:17 2023 +0200 @@ -399,6 +399,14 @@ va_end(ap); dav_free_statement(stmt); + + if(result.status == -1) { + if(result.result) { + dav_resource_free(result.result); + result.result = NULL; + } + } + return result.result; }