--- a/libidav/webdav.c Thu Jun 05 16:53:53 2014 +0200 +++ b/libidav/webdav.c Fri Jun 13 13:52:59 2014 +0200 @@ -237,7 +237,7 @@ DavResource* dav_query_get(DavSession *sn, DavGetQuery *query) { char *path; - int depth = 0; + int depth = query->depth; /* if(parse_path_query(query->from, &path, &depth)) { sn->error = DAV_ERROR; @@ -266,7 +266,6 @@ dav_resource_free(resource); resource = NULL; } - ucx_buffer_free(rqbuf); int error = 0; if(resource && depth == -1) { @@ -284,6 +283,8 @@ stack = propfind_stack_push(stack, sr->children); // add children } } + + ucx_buffer_free(rqbuf); return resource; }