diff -r 921f83a8943f -r d218607f5a7e src/server/webdav/requestparser.c --- a/src/server/webdav/requestparser.c Sat Mar 25 17:18:51 2023 +0100 +++ b/src/server/webdav/requestparser.c Fri May 05 18:02:11 2023 +0200 @@ -84,7 +84,7 @@ // check for prop duplicates CxHashKey k = webdav_property_key((const char*)ns, (const char*)name); - if(!k.data.bytes) { + if(!k.data) { *error = proppatch ? PROPPATCH_PARSER_OOM : PROPFIND_PARSER_OOM; return 1; } @@ -114,7 +114,7 @@ *error = PROPPATCH_PARSER_DUPLICATE; } - free((void*)k.data.str); + free((void*)k.data); if(*error) { return 1; } @@ -160,7 +160,7 @@ } CxAllocator *a = pool_allocator(sn->pool); - CxMap *propmap = cxHashMapCreate(a, 32); // value: intptr_t + CxMap *propmap = cxHashMapCreate(a, CX_STORE_POINTERS, 32); // value: intptr_t if(!propmap) { *error = PROPFIND_PARSER_OOM; xmlFreeDoc(doc); @@ -302,7 +302,7 @@ CxAllocator *a = pool_allocator(sn->pool); // map for duplicate checking // value type: intptr_t - CxMap *propmap = cxHashMapCreate(a, 32); + CxMap *propmap = cxHashMapCreate(a, CX_STORE_POINTERS, 32); if(!propmap) { *error = PROPPATCH_PARSER_OOM; xmlFreeDoc(doc);