pastebin - collaborative debugging tool
nrubsig.kpaste.net RSS


clang tidy warnings
Posted by Anonymous on Fri 7th Mar 2025 11:00
raw | new post

  1. Rebuild started at 11:57...
  2. 1>------ Rebuild All started: Project: libtirpc, Configuration: Debug x64 ------
  3. 1>asprintf.c
  4. 1>authsspi_prot.c
  5. 1>authunix_prot.c
  6. 1>auth_none.c
  7. 1>auth_sspi.c
  8. 1>auth_time.c
  9. 1>auth_unix.c
  10. 1>bindresvport.c
  11. 1>clnt_bcast.c
  12. 1>clnt_dg.c
  13. 1>clnt_generic.c
  14. 1>clnt_perror.c
  15. 1>clnt_raw.c
  16. 1>clnt_simple.c
  17. 1>clnt_vc.c
  18. 1>des_soft.c
  19. 1>epoll_sub.c
  20. 1>getnetconfig.c
  21. 1>getnetpath.c
  22. 1>getpeereid.c
  23. 1>Generating Code...
  24. 1>Compiling...
  25. 1>getpublickey.c
  26. 1>getrpcent.c
  27. 1>getrpcport.c
  28. 1>gettimeofday.c
  29. 1>key_call.c
  30. 1>key_prot_xdr.c
  31. 1>mt_misc.c
  32. 1>netname.c
  33. 1>netnamer.c
  34. 1>pmap_clnt.c
  35. 1>pmap_getmaps.c
  36. 1>pmap_getport.c
  37. 1>pmap_prot.c
  38. 1>pmap_prot2.c
  39. 1>pmap_rmt.c
  40. 1>rpcb_clnt.c
  41. 1>rpcb_prot.c
  42. 1>rpcb_st_xdr.c
  43. 1>rpcdname.c
  44. 1>rpc_callmsg.c
  45. 1>Generating Code...
  46. 1>Compiling...
  47. 1>rpc_commondata.c
  48. 1>rpc_dtablesize.c
  49. 1>rpc_generic.c
  50. 1>rpc_prot.c
  51. 1>rpc_soc.c
  52. 1>rtime.c
  53. 1>svc.c
  54. 1>svc_auth.c
  55. 1>svc_auth_none.c
  56. 1>svc_auth_unix.c
  57. 1>svc_dg.c
  58. 1>svc_generic.c
  59. 1>svc_raw.c
  60. 1>svc_run.c
  61. 1>svc_simple.c
  62. 1>svc_vc.c
  63. 1>winstubs.c
  64. 1>wintirpc.c
  65. 1>xdr.c
  66. 1>xdr_array.c
  67. 1>Generating Code...
  68. 1>Compiling...
  69. 1>xdr_float.c
  70. 1>xdr_mem.c
  71. 1>xdr_rec.c
  72. 1>xdr_reference.c
  73. 1>xdr_sizeof.c
  74. 1>xdr_stdio.c
  75. 1>Generating Code...
  76. 1>   Creating library C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\build.vc19\x64\Debug\libtirpc.lib and object C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\build.vc19\x64\Debug\libtirpc.exp
  77. 1>libtirpc.vcxproj -> C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\build.vc19\x64\Debug\libtirpc.dll
  78. 2>------ Rebuild All started: Project: nfsd, Configuration: Debug x64 ------
  79. 2>015d2053-dirty
  80. 2>..\..\daemon\acl.c(1219,41): warning : incompatible pointer types passing 'PACE_HEADER *' (aka 'struct _ACE_HEADER **') to parameter of type 'LPVOID *' (aka 'void **') [-Wincompatible-pointer-types]
  81. 2>C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um\securitybaseapi.h(750,22): message : passing argument to parameter 'pAce' here
  82. 2>..\..\daemon\callback_xdr.c(95,29): warning : cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [-Wcast-function-type-mismatch]
  83. 2>..\..\daemon\callback_xdr.c(239,34): warning : cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [-Wcast-function-type-mismatch]
  84. 2>..\..\daemon\ea.c(362,44): warning : variable 'prev' set but not used [-Wunused-but-set-variable]
  85. 2>..\..\daemon\idmap.c(569,13): warning : performing pointer subtraction with a null pointer has undefined behavior [-Wnull-pointer-subtraction]
  86. 2>..\..\daemon\idmap.c(38,29): message : expanded from macro 'PTR2UINT'
  87. 2>..\..\daemon\util.h(55,61): message : expanded from macro 'PTR2PTRDIFF_T'
  88. 2>..\..\daemon\idmap.c(777,28): warning : performing pointer subtraction with a null pointer has undefined behavior [-Wnull-pointer-subtraction]
  89. 2>..\..\daemon\idmap.c(36,30): message : expanded from macro 'PTR2UID_T'
  90. 2>..\..\daemon\util.h(55,61): message : expanded from macro 'PTR2PTRDIFF_T'
  91. 2>..\..\daemon\idmap.c(891,28): warning : performing pointer subtraction with a null pointer has undefined behavior [-Wnull-pointer-subtraction]
  92. 2>..\..\daemon\idmap.c(37,30): message : expanded from macro 'PTR2GID_T'
  93. 2>..\..\daemon\util.h(55,61): message : expanded from macro 'PTR2PTRDIFF_T'
  94. 2>..\..\daemon\idmap.c(1114,23): warning : performing pointer subtraction with a null pointer has undefined behavior [-Wnull-pointer-subtraction]
  95. 2>..\..\daemon\idmap.c(36,30): message : expanded from macro 'PTR2UID_T'
  96. 2>..\..\daemon\util.h(55,61): message : expanded from macro 'PTR2PTRDIFF_T'
  97. 2>..\..\daemon\idmap.c(1252,23): warning : performing pointer subtraction with a null pointer has undefined behavior [-Wnull-pointer-subtraction]
  98. 2>..\..\daemon\idmap.c(37,30): message : expanded from macro 'PTR2GID_T'
  99. 2>..\..\daemon\util.h(55,61): message : expanded from macro 'PTR2PTRDIFF_T'
  100. 2>..\..\daemon\nfs41_ops.c(1523,42): warning : '&&' within '||' [-Wlogical-op-parentheses]
  101. 2>..\..\daemon\nfs41_ops.c(1523,42): message : place parentheses around the '&&' expression to silence this warning
  102. 2>..\..\daemon\nfs41_rpc.c(40,22): warning : cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [-Wcast-function-type-mismatch]
  103. 2>..\..\libtirpc\tirpc\rpc/clnt.h(203,38): message : expanded from macro 'clnt_call'
  104. 2>..\..\daemon\nfs41_rpc.c(41,22): warning : cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [-Wcast-function-type-mismatch]
  105. 2>..\..\libtirpc\tirpc\rpc/clnt.h(204,10): message : expanded from macro 'clnt_call'
  106. 2>..\..\daemon\pnfs_io.c(303,12): warning : taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
  107. 2>..\..\daemon\pnfs_io.c(303,12): message : remove the call to 'abs' since unsigned values cannot be negative
  108. 2>..\..\daemon\pnfs_io.c(562,43): warning : variable 'total_written' set but not used [-Wunused-but-set-variable]
  109. 2>..\..\daemon\pnfs_layout.c(450,13): warning : 108 enumeration values not handled in switch: 'NFS4ERR_PERM', 'NFS4ERR_NOENT', 'NFS4ERR_IO'... [-Wswitch]
  110. 2>..\..\daemon\readdir.c(702,34): warning : comparison of integers of different signs: 'int' and 'unsigned long long' [-Wsign-compare]
  111. 2>C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt\stdlib.h(1282,32): message : expanded from macro 'max'
  112. 2>..\..\daemon\recovery.c(422,56): warning : 'memcpy' call operates on objects of type 'nfs41_delegation_state' (aka 'struct __nfs41_delegation_state') while the size is based on a different type 'nfs41_delegation_state *' (aka 'struct __nfs41_delegation_state *') [-Wsizeof-pointer-memaccess]
  113. 2>..\..\daemon\recovery.c(422,56): message : did you mean to dereference the argument to 'sizeof' (and multiply it by the number of elements)?
  114. 2>..\..\daemon\recovery.c(494,50): warning : missing field 'args' initializer [-Wmissing-field-initializers]
  115. 2>..\..\daemon\recovery.c(641,50): warning : missing field 'args' initializer [-Wmissing-field-initializers]
  116. [1/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\accesstoken.c.
  117. [2/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c.
  118. [3/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\callback_server.c.
  119. [4/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\callback_xdr.c.
  120. [5/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\cpvparser1.c.
  121. [6/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.c.
  122. [7/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c.
  123. [8/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c.
  124. [9/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c.
  125. [10/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fsctl.c.
  126. [11/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\getattr.c.
  127. [12/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c.
  128. [13/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap_cygwin.c.
  129. [14/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lock.c.
  130. [15/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c.
  131. [16/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\mount.c.
  132. [17/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\namespace.c.
  133. [18/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c.
  134. [19/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_client.c.
  135. [20/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_compound.c.
  136. [21/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c.
  137. [22/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c.
  138. [23/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_rpc.c.
  139. [24/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_server.c.
  140. [25/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c.
  141. [26/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c.
  142. [27/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_xdr.c.
  143. [28/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs42_ops.c.
  144. [29/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs42_xdr.c.
  145. [30/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c.
  146. [31/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_debug.c.
  147. [32/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_device.c.
  148. [33/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c.
  149. [34/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_layout.c.
  150. [35/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c.
  151. [36/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readwrite.c.
  152. [37/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\recovery.c.
  153. [38/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\service.c.
  154. [39/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\setattr.c.
  155. [40/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c.
  156. [41/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\symlink.c.
  157. [42/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\upcall.c.
  158. [43/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.c.
  159. [44/44] Processing file C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\volume.c.
  160. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\accesstoken.c(239,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  161.   239 |             (void)strcpy(out_buffers[iob], namebuffer);
  162.       |                   ^~~~~~
  163. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\accesstoken.c:239:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  164.   239 |             (void)strcpy(out_buffers[iob], namebuffer);
  165.       |                   ^~~~~~
  166. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(272,22): warning G36456E0F: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
  167.   272 |                 else status = ERROR_SUCCESS;
  168.       |                      ^
  169. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:272:22: note: Value stored to 'status' is never read
  170. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(283,22): warning G36456E0F: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
  171.   283 |                 else status = ERROR_SUCCESS;
  172.       |                      ^
  173. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:283:22: note: Value stored to 'status' is never read
  174. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(931,29): warning G71A66108: The value '0' provided to the cast expression is not in the valid range of values for '_SID_NAME_USE' [clang-analyzer-optin.core.EnumCastOutOfRange]
  175.   931 |     SID_NAME_USE sid_type = 0;
  176.       |                             ^
  177. C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um\winnt.h:10380:14: note: enum declared here
  178.  10380 | typedef enum _SID_NAME_USE {
  179.        |         ~~~~~^~~~~~~~~~~~~~~
  180.  10381 |     SidTypeUser = 1,
  181.        |     ~~~~~~~~~~~~~~~~
  182.  10382 |     SidTypeGroup,
  183.        |     ~~~~~~~~~~~~~
  184.  10383 |     SidTypeDomain,
  185.        |     ~~~~~~~~~~~~~~
  186.  10384 |     SidTypeAlias,
  187.        |     ~~~~~~~~~~~~~
  188.  10385 |     SidTypeWellKnownGroup,
  189.        |     ~~~~~~~~~~~~~~~~~~~~~~
  190.  10386 |     SidTypeDeletedAccount,
  191.        |     ~~~~~~~~~~~~~~~~~~~~~~
  192.  10387 |     SidTypeInvalid,
  193.        |     ~~~~~~~~~~~~~~~
  194.  10388 |     SidTypeUnknown,
  195.        |     ~~~~~~~~~~~~~~~
  196.  10389 |     SidTypeComputer,
  197.        |     ~~~~~~~~~~~~~~~~
  198.  10390 |     SidTypeLabel,
  199.        |     ~~~~~~~~~~~~~
  200.  10391 |     SidTypeLogonSession
  201.        |     ~~~~~~~~~~~~~~~~~~~
  202.  10392 | } SID_NAME_USE, *PSID_NAME_USE;
  203.        | ~
  204. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Assuming 'g_debug_level' is < 1
  205.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  206.       |     ^
  207. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  208.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  209.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  210. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  211.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  212.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  213. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Taking false branch
  214.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  215.       |     ^
  216. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  217.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  218.       |         ^
  219. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:9: note: Assuming the condition is true
  220.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  221.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  222. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:5: note: Taking true branch
  223.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  224.       |     ^
  225. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1390:9: note: 'g_debug_level' is < 2
  226.  1390 |         DPRINTF(ACLLVL2, ("handle_setacl: OWNER_SECURITY_INFORMATION\n"));
  227.       |         ^
  228. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  229.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  230.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  231. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  232.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  233.       |                                                  ^~~~~~~~~~~~~
  234. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1390:9: note: Taking false branch
  235.  1390 |         DPRINTF(ACLLVL2, ("handle_setacl: OWNER_SECURITY_INFORMATION\n"));
  236.       |         ^
  237. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  238.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  239.       |         ^
  240. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1392:13: note: Assuming 'status' is not equal to 0
  241.  1392 |         if (!status) {
  242.       |             ^~~~~~~
  243. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1392:9: note: Taking false branch
  244.  1392 |         if (!status) {
  245.       |         ^
  246. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1398:18: note: Calling 'map_sid2nfs4ace_who'
  247.  1398 |         status = map_sid2nfs4ace_who(sid, NULL, NULL, ownerbuf,
  248.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  249.  1399 |             nfs41dg->localdomain_name, NULL);
  250.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  251. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:931:29: note: The value '0' provided to the cast expression is not in the valid range of values for '_SID_NAME_USE'
  252.   931 |     SID_NAME_USE sid_type = 0;
  253.       |                             ^
  254. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(952,5): warning G36456E0F: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
  255.   952 |     status = 0;
  256.       |     ^        ~
  257. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:952:5: note: Value stored to 'status' is never read
  258.   952 |     status = 0;
  259.       |     ^        ~
  260. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(1040,25): warning G36456E0F: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
  261.  1040 |                         status = ERROR_SUCCESS;
  262.       |                         ^
  263. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1040:25: note: Value stored to 'status' is never read
  264. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(1061,25): warning G36456E0F: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
  265.  1061 |                         status = ERROR_SUCCESS;
  266.       |                         ^
  267. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1061:25: note: Value stored to 'status' is never read
  268. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(1082,17): warning G36456E0F: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
  269.  1082 |                 status = ERROR_NONE_MAPPED;
  270.       |                 ^
  271. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1082:17: note: Value stored to 'status' is never read
  272. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(1200,37): warning G71A66108: The value '0' provided to the cast expression is not in the valid range of values for '_SID_NAME_USE' [clang-analyzer-optin.core.EnumCastOutOfRange]
  273.  1200 |         SID_NAME_USE who_sid_type = 0;
  274.       |                                     ^
  275. C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um\winnt.h:10380:14: note: enum declared here
  276.  10380 | typedef enum _SID_NAME_USE {
  277.        |         ~~~~~^~~~~~~~~~~~~~~
  278.  10381 |     SidTypeUser = 1,
  279.        |     ~~~~~~~~~~~~~~~~
  280.  10382 |     SidTypeGroup,
  281.        |     ~~~~~~~~~~~~~
  282.  10383 |     SidTypeDomain,
  283.        |     ~~~~~~~~~~~~~~
  284.  10384 |     SidTypeAlias,
  285.        |     ~~~~~~~~~~~~~
  286.  10385 |     SidTypeWellKnownGroup,
  287.        |     ~~~~~~~~~~~~~~~~~~~~~~
  288.  10386 |     SidTypeDeletedAccount,
  289.        |     ~~~~~~~~~~~~~~~~~~~~~~
  290.  10387 |     SidTypeInvalid,
  291.        |     ~~~~~~~~~~~~~~~
  292.  10388 |     SidTypeUnknown,
  293.        |     ~~~~~~~~~~~~~~~
  294.  10389 |     SidTypeComputer,
  295.        |     ~~~~~~~~~~~~~~~~
  296.  10390 |     SidTypeLabel,
  297.        |     ~~~~~~~~~~~~~
  298.  10391 |     SidTypeLogonSession
  299.        |     ~~~~~~~~~~~~~~~~~~~
  300.  10392 | } SID_NAME_USE, *PSID_NAME_USE;
  301.        | ~
  302. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Assuming 'g_debug_level' is < 1
  303.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  304.       |     ^
  305. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  306.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  307.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  308. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  309.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  310.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  311. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Taking false branch
  312.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  313.       |     ^
  314. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  315.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  316.       |         ^
  317. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:9: note: Assuming the condition is false
  318.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  319.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  320. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:5: note: Taking false branch
  321.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  322.       |     ^
  323. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1411:9: note: Assuming the condition is false
  324.  1411 |     if (args->query & GROUP_SECURITY_INFORMATION) {
  325.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  326. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1411:5: note: Taking false branch
  327.  1411 |     if (args->query & GROUP_SECURITY_INFORMATION) {
  328.       |     ^
  329. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1433:9: note: Assuming the condition is true
  330.  1433 |     if (args->query & DACL_SECURITY_INFORMATION) {
  331.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  332. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1433:5: note: Taking true branch
  333.  1433 |     if (args->query & DACL_SECURITY_INFORMATION) {
  334.       |     ^
  335. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1436:9: note: 'g_debug_level' is < 2
  336.  1436 |         DPRINTF(ACLLVL2, ("handle_setacl: DACL_SECURITY_INFORMATION\n"));
  337.       |         ^
  338. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  339.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  340.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  341. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  342.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  343.       |                                                  ^~~~~~~~~~~~~
  344. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1436:9: note: Taking false branch
  345.  1436 |         DPRINTF(ACLLVL2, ("handle_setacl: DACL_SECURITY_INFORMATION\n"));
  346.       |         ^
  347. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  348.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  349.       |         ^
  350. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1439:13: note: Assuming 'status' is not equal to 0
  351.  1439 |         if (!status) {
  352.       |             ^~~~~~~
  353. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1439:9: note: Taking false branch
  354.  1439 |         if (!status) {
  355.       |         ^
  356. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1445:13: note: Assuming 'status' is not equal to 0
  357.  1445 |         if (!status) {
  358.       |             ^~~~~~~
  359. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1445:9: note: Taking false branch
  360.  1445 |         if (!status) {
  361.       |         ^
  362. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1451:13: note: Assuming 'status' is not equal to 0
  363.  1451 |         if (!status) {
  364.       |             ^~~~~~~
  365. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1451:9: note: Taking false branch
  366.  1451 |         if (!status) {
  367.       |         ^
  368. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1458:14: note: Assuming field 'ea_support' is 0
  369.  1458 |              state->file.fh.superblock->ea_support?true:false,
  370.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  371. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1458:14: note: '?' condition is false
  372. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1456:18: note: Calling 'map_dacl_2_nfs4acl'
  373.  1456 |         status = map_dacl_2_nfs4acl(acl, sid, gsid, &nfs4_acl,
  374.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  375.  1457 |              state->type,
  376.       |              ~~~~~~~~~~~~
  377.  1458 |              state->file.fh.superblock->ea_support?true:false,
  378.       |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  379.  1459 |             nfs41dg->localdomain_name);
  380.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
  381. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1165:9: note: Assuming 'acl' is not equal to NULL
  382.  1165 |     if (acl == NULL) {
  383.       |         ^~~~~~~~~~~
  384. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1165:5: note: Taking false branch
  385.  1165 |     if (acl == NULL) {
  386.       |     ^
  387. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1200:37: note: The value '0' provided to the cast expression is not in the valid range of values for '_SID_NAME_USE'
  388.  1200 |         SID_NAME_USE who_sid_type = 0;
  389.       |                                     ^
  390. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(1219,41): warning GE3DC1BEC: incompatible pointer types passing 'PACE_HEADER *' (aka 'struct _ACE_HEADER **') to parameter of type 'LPVOID *' (aka 'void **') [clang-diagnostic-incompatible-pointer-types]
  391.  1219 |             status = GetAce(acl, win_i, &ace);
  392.       |                                         ^~~~
  393. C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um\securitybaseapi.h:750:22: note: passing argument to parameter 'pAce' here
  394.   750 |     _Outptr_ LPVOID* pAce
  395.       |                      ^
  396. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(1407,35): warning G4E466640: The left operand of '!=' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  397.  1407 |         EASSERT_MSG(info.owner[0] != '\0',
  398.       |                                   ^
  399. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  400.    65 |     if (!(exp)) { \
  401.       |           ^~~
  402. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Assuming 'g_debug_level' is < 1
  403.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  404.       |     ^
  405. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  406.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  407.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  408. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  409.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  410.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  411. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Taking false branch
  412.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  413.       |     ^
  414. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  415.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  416.       |         ^
  417. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:9: note: Assuming the condition is true
  418.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  419.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  420. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:5: note: Taking true branch
  421.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  422.       |     ^
  423. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1390:9: note: 'g_debug_level' is < 2
  424.  1390 |         DPRINTF(ACLLVL2, ("handle_setacl: OWNER_SECURITY_INFORMATION\n"));
  425.       |         ^
  426. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  427.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  428.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  429. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  430.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  431.       |                                                  ^~~~~~~~~~~~~
  432. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1390:9: note: Taking false branch
  433.  1390 |         DPRINTF(ACLLVL2, ("handle_setacl: OWNER_SECURITY_INFORMATION\n"));
  434.       |         ^
  435. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  436.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  437.       |         ^
  438. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1392:13: note: Assuming 'status' is not equal to 0
  439.  1392 |         if (!status) {
  440.       |             ^~~~~~~
  441. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1392:9: note: Taking false branch
  442.  1392 |         if (!status) {
  443.       |         ^
  444. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1398:18: note: Calling 'map_sid2nfs4ace_who'
  445.  1398 |         status = map_sid2nfs4ace_who(sid, NULL, NULL, ownerbuf,
  446.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  447.  1399 |             nfs41dg->localdomain_name, NULL);
  448.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  449. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:938:5: note: 'g_debug_level' is < 2
  450.   938 |     DPRINTF(ACLLVL2, ("--> map_sid2nfs4ace_who("
  451.       |     ^
  452. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  453.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  454.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  455. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  456.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  457.       |                                                  ^~~~~~~~~~~~~
  458. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:938:5: note: Taking false branch
  459.   938 |     DPRINTF(ACLLVL2, ("--> map_sid2nfs4ace_who("
  460.       |     ^
  461. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  462.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  463.       |         ^
  464. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:942:9: note: 'g_debug_level' is < 2
  465.   942 |     if (DPRINTF_LEVEL_ENABLED(ACLLVL2)) {
  466.       |         ^
  467. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  468.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  469.       |                                                  ^~~~~~~~~~~~~
  470. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:942:5: note: Taking false branch
  471.   942 |     if (DPRINTF_LEVEL_ENABLED(ACLLVL2)) {
  472.       |     ^
  473. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:953:9: note: 'owner_sid' is null
  474.   953 |     if (owner_sid) {
  475.       |         ^~~~~~~~~
  476. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:953:5: note: Taking false branch
  477.   953 |     if (owner_sid) {
  478.       |     ^
  479. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:962:9: note: 'group_sid' is null
  480.   962 |     if (group_sid) {
  481.       |         ^~~~~~~~~
  482. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:962:5: note: Taking false branch
  483.   962 |     if (group_sid) {
  484.       |     ^
  485. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:971:14: note: Calling 'is_well_known_sid'
  486.   971 |     status = is_well_known_sid(sid, who_out, &sid_type);
  487.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  488. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:541:5: note: Loop condition is true.  Entering loop body
  489.   541 |     for (i = 0; i < 78; i++) {
  490.       |     ^
  491. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:13: note: Assuming 'status' is 0, which participates in a condition later
  492.   543 |         if (!status) continue;
  493.       |             ^~~~~~~
  494. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:9: note: Taking true branch
  495.   543 |         if (!status) continue;
  496.       |         ^
  497. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:22: note:  Execution continues on line 541
  498.   543 |         if (!status) continue;
  499.       |                      ^
  500. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:541:5: note: Loop condition is true.  Entering loop body
  501.   541 |     for (i = 0; i < 78; i++) {
  502.       |     ^
  503. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:13: note: Assuming 'status' is 0, which participates in a condition later
  504.   543 |         if (!status) continue;
  505.       |             ^~~~~~~
  506. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:9: note: Taking true branch
  507.   543 |         if (!status) continue;
  508.       |         ^
  509. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:22: note:  Execution continues on line 541
  510.   543 |         if (!status) continue;
  511.       |                      ^
  512. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:541:5: note: Loop condition is true.  Entering loop body
  513.   541 |     for (i = 0; i < 78; i++) {
  514.       |     ^
  515. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:13: note: Assuming 'status' is not equal to 0, which participates in a condition later
  516.   543 |         if (!status) continue;
  517.       |             ^~~~~~~
  518. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:9: note: Taking false branch
  519.   543 |         if (!status) continue;
  520.       |         ^
  521. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:545:13: note: 'g_debug_level' is < 3
  522.   545 |             DPRINTF(ACLLVL3, ("WELL_KNOWN_SID_TYPE %d\n", i));
  523.       |             ^
  524. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  525.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  526.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  527. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  528.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  529.       |                                                  ^~~~~~~~~~~~~
  530. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:545:13: note: Taking false branch
  531.   545 |             DPRINTF(ACLLVL3, ("WELL_KNOWN_SID_TYPE %d\n", i));
  532.       |             ^
  533. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  534.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  535.       |         ^
  536. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:546:13: note: Control jumps to the 'default' case at line 587
  537.   546 |             switch((WELL_KNOWN_SID_TYPE)i) {
  538.       |             ^
  539. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:587:22: note: Returning without writing to '*who'
  540.   587 |             default: return FALSE;
  541.       |                      ^
  542. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:587:22: note: Returning zero, which participates in a condition later
  543.   587 |             default: return FALSE;
  544.       |                      ^~~~~~~~~~~~
  545. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:971:14: note: Returning from 'is_well_known_sid'
  546.   971 |     status = is_well_known_sid(sid, who_out, &sid_type);
  547.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  548. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:972:9: note: 'status' is 0
  549.   972 |     if (status) {
  550.       |         ^~~~~~
  551. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:972:5: note: Taking false branch
  552.   972 |     if (status) {
  553.       |     ^
  554. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:983:9: note: Assuming the condition is true
  555.   983 |     if (!ConvertSidToStringSidA(sid, &sidstr)) {
  556.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  557. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:983:5: note: Taking true branch
  558.   983 |     if (!ConvertSidToStringSidA(sid, &sidstr)) {
  559.       |     ^
  560. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:987:9: note: Control jumps to line 1141
  561.   987 |         goto out;
  562.       |         ^
  563. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1141:9: note: Assuming 'status' is 0, which participates in a condition later
  564.  1141 |     if (status) {
  565.       |         ^~~~~~
  566. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1141:5: note: Taking false branch
  567.  1141 |     if (status) {
  568.       |     ^
  569. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1146:9: note: Assuming 'g_debug_level' is < 2
  570.  1146 |         DPRINTF(ACLLVL2,
  571.       |         ^
  572. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  573.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  574.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  575. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  576.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  577.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  578. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1146:9: note: Taking false branch
  579.  1146 |         DPRINTF(ACLLVL2,
  580.       |         ^
  581. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  582.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  583.       |         ^
  584. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1152:13: note: 'sid_type_out' is null
  585.  1152 |         if (sid_type_out) {
  586.       |             ^~~~~~~~~~~~
  587. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1152:9: note: Taking false branch
  588.  1152 |         if (sid_type_out) {
  589.       |         ^
  590. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1156:9: note: Assuming 'sidstr' is null
  591.  1156 |     if (sidstr)
  592.       |         ^~~~~~
  593. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1156:5: note: Taking false branch
  594.  1156 |     if (sidstr)
  595.       |     ^
  596. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1158:5: note: Returning without writing to '*who_out'
  597.  1158 |     return status;
  598.       |     ^
  599. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1158:5: note: Returning zero (loaded from 'status'), which participates in a condition later
  600.  1158 |     return status;
  601.       |     ^~~~~~~~~~~~~
  602. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1398:18: note: Returning from 'map_sid2nfs4ace_who'
  603.  1398 |         status = map_sid2nfs4ace_who(sid, NULL, NULL, ownerbuf,
  604.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  605.  1399 |             nfs41dg->localdomain_name, NULL);
  606.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  607. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1400:13: note: 'status' is 0
  608.  1400 |         if (status)
  609.       |             ^~~~~~
  610. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1400:9: note: Taking false branch
  611.  1400 |         if (status)
  612.       |         ^
  613. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1407:35: note: The left operand of '!=' is a garbage value
  614.  1407 |         EASSERT_MSG(info.owner[0] != '\0',
  615.       |                                   ^
  616. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  617.    65 |     if (!(exp)) { \
  618.       |           ^~~
  619. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c(1429,41): warning G4E466640: The left operand of '!=' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  620.  1429 |         EASSERT_MSG(info.owner_group[0] != '\0',
  621.       |                                         ^
  622. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  623.    65 |     if (!(exp)) { \
  624.       |           ^~~
  625. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Assuming 'g_debug_level' is < 1
  626.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  627.       |     ^
  628. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  629.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  630.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  631. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  632.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  633.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  634. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1386:5: note: Taking false branch
  635.  1386 |     DPRINTF(ACLLVL1, ("--> handle_setacl(state->path.path='%s')\n",
  636.       |     ^
  637. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  638.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  639.       |         ^
  640. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:9: note: Assuming the condition is false
  641.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  642.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  643. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1389:5: note: Taking false branch
  644.  1389 |     if (args->query & OWNER_SECURITY_INFORMATION) {
  645.       |     ^
  646. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1411:9: note: Assuming the condition is true
  647.  1411 |     if (args->query & GROUP_SECURITY_INFORMATION) {
  648.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  649. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1411:5: note: Taking true branch
  650.  1411 |     if (args->query & GROUP_SECURITY_INFORMATION) {
  651.       |     ^
  652. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1412:9: note: 'g_debug_level' is < 2
  653.  1412 |         DPRINTF(ACLLVL2, ("handle_setacl: GROUP_SECURITY_INFORMATION\n"));
  654.       |         ^
  655. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  656.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  657.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  658. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  659.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  660.       |                                                  ^~~~~~~~~~~~~
  661. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1412:9: note: Taking false branch
  662.  1412 |         DPRINTF(ACLLVL2, ("handle_setacl: GROUP_SECURITY_INFORMATION\n"));
  663.       |         ^
  664. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  665.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  666.       |         ^
  667. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1414:13: note: Assuming 'status' is not equal to 0
  668.  1414 |         if (!status) {
  669.       |             ^~~~~~~
  670. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1414:9: note: Taking false branch
  671.  1414 |         if (!status) {
  672.       |         ^
  673. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1420:18: note: Calling 'map_sid2nfs4ace_who'
  674.  1420 |         status = map_sid2nfs4ace_who(sid, NULL, NULL, groupbuf,
  675.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  676.  1421 |             nfs41dg->localdomain_name, NULL);
  677.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  678. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:938:5: note: 'g_debug_level' is < 2
  679.   938 |     DPRINTF(ACLLVL2, ("--> map_sid2nfs4ace_who("
  680.       |     ^
  681. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  682.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  683.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  684. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  685.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  686.       |                                                  ^~~~~~~~~~~~~
  687. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:938:5: note: Taking false branch
  688.   938 |     DPRINTF(ACLLVL2, ("--> map_sid2nfs4ace_who("
  689.       |     ^
  690. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  691.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  692.       |         ^
  693. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:942:9: note: 'g_debug_level' is < 2
  694.   942 |     if (DPRINTF_LEVEL_ENABLED(ACLLVL2)) {
  695.       |         ^
  696. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  697.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  698.       |                                                  ^~~~~~~~~~~~~
  699. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:942:5: note: Taking false branch
  700.   942 |     if (DPRINTF_LEVEL_ENABLED(ACLLVL2)) {
  701.       |     ^
  702. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:953:9: note: 'owner_sid' is null
  703.   953 |     if (owner_sid) {
  704.       |         ^~~~~~~~~
  705. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:953:5: note: Taking false branch
  706.   953 |     if (owner_sid) {
  707.       |     ^
  708. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:962:9: note: 'group_sid' is null
  709.   962 |     if (group_sid) {
  710.       |         ^~~~~~~~~
  711. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:962:5: note: Taking false branch
  712.   962 |     if (group_sid) {
  713.       |     ^
  714. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:971:14: note: Calling 'is_well_known_sid'
  715.   971 |     status = is_well_known_sid(sid, who_out, &sid_type);
  716.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  717. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:541:5: note: Loop condition is true.  Entering loop body
  718.   541 |     for (i = 0; i < 78; i++) {
  719.       |     ^
  720. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:13: note: Assuming 'status' is 0, which participates in a condition later
  721.   543 |         if (!status) continue;
  722.       |             ^~~~~~~
  723. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:9: note: Taking true branch
  724.   543 |         if (!status) continue;
  725.       |         ^
  726. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:22: note:  Execution continues on line 541
  727.   543 |         if (!status) continue;
  728.       |                      ^
  729. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:541:5: note: Loop condition is true.  Entering loop body
  730.   541 |     for (i = 0; i < 78; i++) {
  731.       |     ^
  732. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:13: note: Assuming 'status' is 0, which participates in a condition later
  733.   543 |         if (!status) continue;
  734.       |             ^~~~~~~
  735. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:9: note: Taking true branch
  736.   543 |         if (!status) continue;
  737.       |         ^
  738. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:22: note:  Execution continues on line 541
  739.   543 |         if (!status) continue;
  740.       |                      ^
  741. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:541:5: note: Loop condition is true.  Entering loop body
  742.   541 |     for (i = 0; i < 78; i++) {
  743.       |     ^
  744. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:13: note: Assuming 'status' is not equal to 0, which participates in a condition later
  745.   543 |         if (!status) continue;
  746.       |             ^~~~~~~
  747. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:543:9: note: Taking false branch
  748.   543 |         if (!status) continue;
  749.       |         ^
  750. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:545:13: note: 'g_debug_level' is < 3
  751.   545 |             DPRINTF(ACLLVL3, ("WELL_KNOWN_SID_TYPE %d\n", i));
  752.       |             ^
  753. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  754.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  755.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  756. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  757.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  758.       |                                                  ^~~~~~~~~~~~~
  759. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:545:13: note: Taking false branch
  760.   545 |             DPRINTF(ACLLVL3, ("WELL_KNOWN_SID_TYPE %d\n", i));
  761.       |             ^
  762. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  763.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  764.       |         ^
  765. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:546:13: note: Control jumps to the 'default' case at line 587
  766.   546 |             switch((WELL_KNOWN_SID_TYPE)i) {
  767.       |             ^
  768. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:587:22: note: Returning without writing to '*who'
  769.   587 |             default: return FALSE;
  770.       |                      ^
  771. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:587:22: note: Returning zero, which participates in a condition later
  772.   587 |             default: return FALSE;
  773.       |                      ^~~~~~~~~~~~
  774. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:971:14: note: Returning from 'is_well_known_sid'
  775.   971 |     status = is_well_known_sid(sid, who_out, &sid_type);
  776.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  777. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:972:9: note: 'status' is 0
  778.   972 |     if (status) {
  779.       |         ^~~~~~
  780. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:972:5: note: Taking false branch
  781.   972 |     if (status) {
  782.       |     ^
  783. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:983:9: note: Assuming the condition is true
  784.   983 |     if (!ConvertSidToStringSidA(sid, &sidstr)) {
  785.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  786. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:983:5: note: Taking true branch
  787.   983 |     if (!ConvertSidToStringSidA(sid, &sidstr)) {
  788.       |     ^
  789. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:987:9: note: Control jumps to line 1141
  790.   987 |         goto out;
  791.       |         ^
  792. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1141:9: note: Assuming 'status' is 0, which participates in a condition later
  793.  1141 |     if (status) {
  794.       |         ^~~~~~
  795. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1141:5: note: Taking false branch
  796.  1141 |     if (status) {
  797.       |     ^
  798. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1146:9: note: Assuming 'g_debug_level' is < 2
  799.  1146 |         DPRINTF(ACLLVL2,
  800.       |         ^
  801. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  802.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  803.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  804. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  805.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  806.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  807. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1146:9: note: Taking false branch
  808.  1146 |         DPRINTF(ACLLVL2,
  809.       |         ^
  810. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  811.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  812.       |         ^
  813. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1152:13: note: 'sid_type_out' is null
  814.  1152 |         if (sid_type_out) {
  815.       |             ^~~~~~~~~~~~
  816. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1152:9: note: Taking false branch
  817.  1152 |         if (sid_type_out) {
  818.       |         ^
  819. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1156:9: note: Assuming 'sidstr' is null
  820.  1156 |     if (sidstr)
  821.       |         ^~~~~~
  822. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1156:5: note: Taking false branch
  823.  1156 |     if (sidstr)
  824.       |     ^
  825. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1158:5: note: Returning without writing to '*who_out'
  826.  1158 |     return status;
  827.       |     ^
  828. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1158:5: note: Returning zero (loaded from 'status'), which participates in a condition later
  829.  1158 |     return status;
  830.       |     ^~~~~~~~~~~~~
  831. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1420:18: note: Returning from 'map_sid2nfs4ace_who'
  832.  1420 |         status = map_sid2nfs4ace_who(sid, NULL, NULL, groupbuf,
  833.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  834.  1421 |             nfs41dg->localdomain_name, NULL);
  835.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  836. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1422:13: note: 'status' is 0
  837.  1422 |         if (status)
  838.       |             ^~~~~~
  839. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1422:9: note: Taking false branch
  840.  1422 |         if (status)
  841.       |         ^
  842. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\acl.c:1429:41: note: The left operand of '!=' is a garbage value
  843.  1429 |         EASSERT_MSG(info.owner_group[0] != '\0',
  844.       |                                         ^
  845. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  846.    65 |     if (!(exp)) { \
  847.       |           ^~~
  848. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\callback_xdr.c(95,29): warning GC5E5EB67: cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [clang-diagnostic-cast-function-type-mismatch]
  849.    95 |     { PNFS_RETURN_ALL,      (xdrproc_t)xdr_void },
  850.       |                             ^~~~~~~~~~~~~~~~~~~
  851. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\callback_xdr.c(239,34): warning GC5E5EB67: cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [clang-diagnostic-cast-function-type-mismatch]
  852.   239 |         cb_sequence_res_discrim, (xdrproc_t)xdr_void);
  853.       |                                  ^~~~~~~~~~~~~~~~~~~
  854. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.c(1119,9): warning G36456E0F: Value stored to 'p' is never read [clang-analyzer-deadcode.DeadStores]
  855.  1119 |         p += snprintf(p, (sizeof(buf)-(p-buf)), "} ");
  856.       |         ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  857. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.c:1119:9: note: Value stored to 'p' is never read
  858.  1119 |         p += snprintf(p, (sizeof(buf)-(p-buf)), "} ");
  859.       |         ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  860. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c(361,5): warning G1E1330D0: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
  861.   361 |     list_add_tail(&client->state.delegations, &state->client_entry);
  862.       |     ^                                         ~~~~~~~~~~~~~~~~~~~~
  863. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:341:5: note: 'state' declared without an initial value
  864.   341 |     nfs41_delegation_state *state;
  865.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  866. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:344:9: note: Assuming field 'type' is equal to OPEN_DELEGATE_READ
  867.   344 |     if (delegation->type != OPEN_DELEGATE_READ &&
  868.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  869. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:344:48: note: Left side of '&&' is false
  870.   344 |     if (delegation->type != OPEN_DELEGATE_READ &&
  871.       |                                                ^
  872. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:348:9: note: Assuming field 'recalled' is 0
  873.   348 |     if (delegation->recalled) {
  874.       |         ^~~~~~~~~~~~~~~~~~~~
  875. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:348:5: note: Taking false branch
  876.   348 |     if (delegation->recalled) {
  877.       |     ^
  878. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:354:14: note: Calling 'delegation_create'
  879.   354 |     status = delegation_create(parent, file, delegation, &state);
  880.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  881. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:47:9: note: Assuming 'state' is equal to NULL
  882.    47 |     if (state == NULL) {
  883.       |         ^~~~~~~~~~~~~
  884. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:47:5: note: Taking true branch
  885.    47 |     if (state == NULL) {
  886.       |     ^
  887. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:49:9: note: Control jumps to line 69
  888.    49 |         goto out;
  889.       |         ^
  890. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:69:5: note: Returning without writing to '*deleg_out'
  891.    69 |     return status;
  892.       |     ^
  893. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:69:5: note: Returning value (loaded from 'status'), which participates in a condition later
  894.    69 |     return status;
  895.       |     ^~~~~~~~~~~~~
  896. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:354:14: note: Returning from 'delegation_create'
  897.   354 |     status = delegation_create(parent, file, delegation, &state);
  898.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  899. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:355:9: note: Assuming 'status' is 0
  900.   355 |     if (status)
  901.       |         ^~~~~~
  902. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:355:5: note: Taking false branch
  903.   355 |     if (status)
  904.       |     ^
  905. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\delegation.c:361:5: note: 2nd function call argument is an uninitialized value
  906.   361 |     list_add_tail(&client->state.delegations, &state->client_entry);
  907.       |     ^                                         ~~~~~~~~~~~~~~~~~~~~
  908. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c(362,44): warning G183B9D1E: variable 'prev' set but not used [clang-diagnostic-unused-but-set-variable]
  909.   362 |     PFILE_GET_EA_INFORMATION ea = ea_list, prev = NULL;
  910.       |                                            ^
  911. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c(374,9): warning G36456E0F: Value stored to 'prev' is never read [clang-analyzer-deadcode.DeadStores]
  912.   374 |         prev = ea;
  913.       |         ^      ~~
  914. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:374:9: note: Value stored to 'prev' is never read
  915.   374 |         prev = ea;
  916.       |         ^      ~~
  917. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c(406,15): warning G4EBCC5AC: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
  918.   406 |     ea_size = calculate_ea_list_length(entry_list, entry_len);
  919.       |               ^
  920. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:562:9: note: Assuming 'status' is not equal to NFS4ERR_NOENT
  921.   562 |     if (status == NFS4ERR_NOENT) { /* no named attribute directory */
  922.       |         ^~~~~~~~~~~~~~~~~~~~~~~
  923. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:562:5: note: Taking false branch
  924.   562 |     if (status == NFS4ERR_NOENT) { /* no named attribute directory */
  925.       |     ^
  926. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:568:16: note: Assuming 'status' is 0
  927.   568 |     } else if (status) {
  928.       |                ^~~~~~
  929. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:568:12: note: Taking false branch
  930.   568 |     } else if (status) {
  931.       |            ^
  932. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:576:9: note: Assuming 'query' is equal to NULL
  933.   576 |     if (query == NULL) {
  934.       |         ^~~~~~~~~~~~~
  935. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:576:5: note: Taking true branch
  936.   576 |     if (query == NULL) {
  937.       |     ^
  938. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:579:18: note: Calling 'get_ea_list'
  939.   579 |         status = get_ea_list(state, &parent, &query, &index);
  940.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  941. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:387:5: note: 'entry_list' declared without an initial value
  942.   387 |     unsigned char *entry_list;
  943.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~
  944. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:394:9: note: Assuming the condition is false
  945.   394 |     if (state->ea.list != INVALID_HANDLE_VALUE) {
  946.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  947. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:394:5: note: Taking false branch
  948.   394 |     if (state->ea.list != INVALID_HANDLE_VALUE) {
  949.       |     ^
  950. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:402:14: note: Calling 'read_entire_dir'
  951.   402 |     status = read_entire_dir(state->session, eadir, &entry_list, &entry_len);
  952.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  953. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:272:9: note: Assuming 'buffer' is equal to NULL
  954.   272 |     if (buffer == NULL) {
  955.       |         ^~~~~~~~~~~~~~
  956. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:272:5: note: Taking true branch
  957.   272 |     if (buffer == NULL) {
  958.       |     ^
  959. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:274:9: note: Control jumps to line 327
  960.   274 |         goto out;
  961.       |         ^
  962. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:327:5: note: Returning without writing to '*buffer_out'
  963.   327 |     return status;
  964.       |     ^
  965. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:327:5: note: Returning value (loaded from 'status'), which participates in a condition later
  966.   327 |     return status;
  967.       |     ^~~~~~~~~~~~~
  968. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:402:14: note: Returning from 'read_entire_dir'
  969.   402 |     status = read_entire_dir(state->session, eadir, &entry_list, &entry_len);
  970.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  971. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:403:9: note: Assuming 'status' is 0
  972.   403 |     if (status)
  973.       |         ^~~~~~
  974. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:403:5: note: Taking false branch
  975.   403 |     if (status)
  976.       |     ^
  977. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\ea.c:406:15: note: 1st function call argument is an uninitialized value
  978.   406 |     ea_size = calculate_ea_list_length(entry_list, entry_len);
  979.       |               ^                        ~~~~~~~~~~
  980. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c(420,11): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  981.   420 |     (void)strcpy(owner, info->owner);
  982.       |           ^~~~~~
  983. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c:420:11: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  984.   420 |     (void)strcpy(owner, info->owner);
  985.       |           ^~~~~~
  986. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c(421,11): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  987.   421 |     (void)strcpy(owner_group, info->owner_group);
  988.       |           ^~~~~~
  989. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c:421:11: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  990.   421 |     (void)strcpy(owner_group, info->owner_group);
  991.       |           ^~~~~~
  992. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c(569,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  993.   569 |             (void)strcpy(dest->owner, src->owner);
  994.       |                   ^~~~~~
  995. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c:569:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  996.   569 |             (void)strcpy(dest->owner, src->owner);
  997.       |                   ^~~~~~
  998. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c(575,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  999.   575 |             (void)strcpy(dest->owner_group_buf, src->owner_group_buf);
  1000.       |                   ^~~~~~
  1001. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\fileinfoutil.c:575:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  1002.   575 |             (void)strcpy(dest->owner_group_buf, src->owner_group_buf);
  1003.       |                   ^~~~~~
  1004. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c(569,13): warning GF4379D1B: performing pointer subtraction with a null pointer has undefined behavior [clang-diagnostic-null-pointer-subtraction]
  1005.   569 |         i = PTR2UINT(lookup->value);
  1006.       |             ^
  1007. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c:38:29: note: expanded from macro 'PTR2UINT'
  1008.    38 | #define PTR2UINT(p)  ((UINT)PTR2PTRDIFF_T(p))
  1009.       |                             ^~~~~~~~~~~~~~~~
  1010. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.h:55:61: note: expanded from macro 'PTR2PTRDIFF_T'
  1011.    55 | #define PTR2PTRDIFF_T(p) ((ptrdiff_t)((char *)((void *)(p)) - ((char *)0)))
  1012.       |                                                             ^ ~~~~~~~~~~~
  1013. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c(777,28): warning GF4379D1B: performing pointer subtraction with a null pointer has undefined behavior [clang-diagnostic-null-pointer-subtraction]
  1014.   777 |         uid_t search_uid = PTR2UID_T(lookup->value);
  1015.       |                            ^
  1016. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c:36:30: note: expanded from macro 'PTR2UID_T'
  1017.    36 | #define PTR2UID_T(p) ((uid_t)PTR2PTRDIFF_T(p))
  1018.       |                              ^~~~~~~~~~~~~~~~
  1019. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.h:55:61: note: expanded from macro 'PTR2PTRDIFF_T'
  1020.    55 | #define PTR2PTRDIFF_T(p) ((ptrdiff_t)((char *)((void *)(p)) - ((char *)0)))
  1021.       |                                                             ^ ~~~~~~~~~~~
  1022. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c(891,28): warning GF4379D1B: performing pointer subtraction with a null pointer has undefined behavior [clang-diagnostic-null-pointer-subtraction]
  1023.   891 |         gid_t search_gid = PTR2GID_T(lookup->value);
  1024.       |                            ^
  1025. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c:37:30: note: expanded from macro 'PTR2GID_T'
  1026.    37 | #define PTR2GID_T(p) ((gid_t)PTR2PTRDIFF_T(p))
  1027.       |                              ^~~~~~~~~~~~~~~~
  1028. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.h:55:61: note: expanded from macro 'PTR2PTRDIFF_T'
  1029.    55 | #define PTR2PTRDIFF_T(p) ((ptrdiff_t)((char *)((void *)(p)) - ((char *)0)))
  1030.       |                                                             ^ ~~~~~~~~~~~
  1031. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c(1114,23): warning GF4379D1B: performing pointer subtraction with a null pointer has undefined behavior [clang-diagnostic-null-pointer-subtraction]
  1032.  1114 |     const uid_t uid = PTR2UID_T(value);
  1033.       |                       ^
  1034. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c:36:30: note: expanded from macro 'PTR2UID_T'
  1035.    36 | #define PTR2UID_T(p) ((uid_t)PTR2PTRDIFF_T(p))
  1036.       |                              ^~~~~~~~~~~~~~~~
  1037. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.h:55:61: note: expanded from macro 'PTR2PTRDIFF_T'
  1038.    55 | #define PTR2PTRDIFF_T(p) ((ptrdiff_t)((char *)((void *)(p)) - ((char *)0)))
  1039.       |                                                             ^ ~~~~~~~~~~~
  1040. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c(1252,23): warning GF4379D1B: performing pointer subtraction with a null pointer has undefined behavior [clang-diagnostic-null-pointer-subtraction]
  1041.  1252 |     const gid_t gid = PTR2GID_T(value);
  1042.       |                       ^
  1043. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\idmap.c:37:30: note: expanded from macro 'PTR2GID_T'
  1044.    37 | #define PTR2GID_T(p) ((gid_t)PTR2PTRDIFF_T(p))
  1045.       |                              ^~~~~~~~~~~~~~~~
  1046. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.h:55:61: note: expanded from macro 'PTR2PTRDIFF_T'
  1047.    55 | #define PTR2PTRDIFF_T(p) ((ptrdiff_t)((char *)((void *)(p)) - ((char *)0)))
  1048.       |                                                             ^ ~~~~~~~~~~~
  1049. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\list.h(70,17): warning G5C0E2821: Access to field 'prev' results in a dereference of a null pointer (loaded from variable 'entry') [clang-analyzer-core.NullDereference]
  1050.    70 |     entry->prev = prev;
  1051.       |                 ^
  1052. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:268:5: note: Assuming 'g_debug_level' is < 3
  1053.   268 |     DPRINTF(SBLVL, ("--> nfs41_superblock_for_fh(fsid(%llu,%llu)))\n",
  1054.       |     ^
  1055. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1056.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1057.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1058. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1059.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1060.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  1061. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:268:5: note: Taking false branch
  1062.   268 |     DPRINTF(SBLVL, ("--> nfs41_superblock_for_fh(fsid(%llu,%llu)))\n",
  1063.       |     ^
  1064. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1065.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1066.       |         ^
  1067. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:272:9: note: Assuming 'parent' is null
  1068.   272 |     if (parent && parent->superblock &&
  1069.       |         ^~~~~~
  1070. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:272:16: note: Left side of '&&' is false
  1071.   272 |     if (parent && parent->superblock &&
  1072.       |                ^
  1073. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:281:18: note: Calling 'find_superblock'
  1074.   281 |     superblock = find_superblock(superblocks, fsid);
  1075.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1076. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:235:12: note: Assuming 'entry' is null
  1077.   235 |     return entry ? superblock_entry(entry) : NULL;
  1078.       |            ^~~~~
  1079. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:235:12: note: '?' condition is false
  1080. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:235:5: note: Returning null pointer, which participates in a condition later
  1081.   235 |     return entry ? superblock_entry(entry) : NULL;
  1082.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1083. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:281:18: note: Returning from 'find_superblock'
  1084.   281 |     superblock = find_superblock(superblocks, fsid);
  1085.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1086. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:284:9: note: 'superblock' is null
  1087.   284 |     if (superblock) {
  1088.       |         ^~~~~~~~~~
  1089. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:284:5: note: Taking false branch
  1090.   284 |     if (superblock) {
  1091.       |     ^
  1092. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:291:9: note: Value assigned to 'superblock'
  1093.   291 |         superblock = find_superblock(superblocks, fsid);
  1094.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1095. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:292:13: note: Assuming 'superblock' is null
  1096.   292 |         if (superblock) {
  1097.       |             ^~~~~~~~~~
  1098. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:292:9: note: Taking false branch
  1099.   292 |         if (superblock) {
  1100.       |         ^
  1101. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:297:22: note: Calling 'superblock_create'
  1102.   297 |             status = superblock_create(fsid, &superblock);
  1103.       |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1104. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:57:5: note: Assuming 'g_debug_level' is < 3
  1105.    57 |     DPRINTF(SBLVL, ("creating superblock for fsid(%llu,%llu)\n",
  1106.       |     ^
  1107. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1108.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1109.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1110. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1111.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1112.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  1113. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:57:5: note: Taking false branch
  1114.    57 |     DPRINTF(SBLVL, ("creating superblock for fsid(%llu,%llu)\n",
  1115.       |     ^
  1116. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1117.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1118.       |         ^
  1119. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:61:9: note: Assuming 'superblock' is equal to NULL
  1120.    61 |     if (superblock == NULL) {
  1121.       |         ^~~~~~~~~~~~~~~~~~
  1122. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:61:5: note: Taking true branch
  1123.    61 |     if (superblock == NULL) {
  1124.       |     ^
  1125. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:65:9: note: Control jumps to line 73
  1126.    65 |         goto out;
  1127.       |         ^
  1128. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:73:5: note: Returning without writing to '*superblock_out'
  1129.    73 |     return status;
  1130.       |     ^
  1131. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:297:22: note: Returning from 'superblock_create'
  1132.   297 |             status = superblock_create(fsid, &superblock);
  1133.       |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1134. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:298:17: note: Assuming 'status' is equal to NO_ERROR
  1135.   298 |             if (status == NO_ERROR) /* add it to the list */
  1136.       |                 ^~~~~~~~~~~~~~~~~~
  1137. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:298:13: note: Taking true branch
  1138.   298 |             if (status == NO_ERROR) /* add it to the list */
  1139.       |             ^
  1140. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:299:51: note: Passing null pointer value via 2nd parameter 'entry'
  1141.   299 |                 list_add_tail(&superblocks->head, &superblock->entry);
  1142.       |                                                   ^~~~~~~~~~~~~~~~~~
  1143. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_superblock.c:299:17: note: Calling 'list_add_tail'
  1144.   299 |                 list_add_tail(&superblocks->head, &superblock->entry);
  1145.       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1146. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\list.h:87:14: note: Passing null pointer value via 1st parameter 'entry'
  1147.    87 |     list_add(entry, head->prev, head);
  1148.       |              ^~~~~
  1149. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\list.h:87:5: note: Calling 'list_add'
  1150.    87 |     list_add(entry, head->prev, head);
  1151.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1152. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\list.h:70:17: note: Access to field 'prev' results in a dereference of a null pointer (loaded from variable 'entry')
  1153.    70 |     entry->prev = prev;
  1154.       |     ~~~~~       ^
  1155. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c(536,39): warning G6C202045: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
  1156.   536 |         if (session_out) *session_out = new_session;
  1157.       |                                       ^ ~~~~~~~~~~~
  1158. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:478:9: note: Assuming 'session_out' is non-null
  1159.   478 |     if (session_out) *session_out = session;
  1160.       |         ^~~~~~~~~~~
  1161. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:478:5: note: Taking true branch
  1162.   478 |     if (session_out) *session_out = session;
  1163.       |     ^
  1164. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:491:5: note: Assuming 'g_debug_level' is < 2
  1165.   491 |     DPRINTF(LULVL, ("--> nfs41_lookup('%s')\n", path.path));
  1166.       |     ^
  1167. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1168.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1169.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1170. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1171.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1172.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  1173. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:491:5: note: Taking false branch
  1174.   491 |     DPRINTF(LULVL, ("--> nfs41_lookup('%s')\n", path.path));
  1175.       |     ^
  1176. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1177.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1178.       |         ^
  1179. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:493:9: note: Assuming 'parent_out' is not equal to NULL
  1180.   493 |     if (parent_out == NULL) parent_out = &parent;
  1181.       |         ^~~~~~~~~~~~~~~~~~
  1182. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:493:5: note: Taking false branch
  1183.   493 |     if (parent_out == NULL) parent_out = &parent;
  1184.       |     ^
  1185. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:494:9: note: Assuming 'target_out' is not equal to NULL
  1186.   494 |     if (target_out == NULL) target_out = &target;
  1187.       |         ^~~~~~~~~~~~~~~~~~
  1188. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:494:5: note: Taking false branch
  1189.   494 |     if (target_out == NULL) target_out = &target;
  1190.       |     ^
  1191. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:9: note: Assuming 'status' is not equal to NO_ERROR
  1192.   499 |     if (status == NO_ERROR || negative)
  1193.       |         ^~~~~~~~~~~~~~~~~~
  1194. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:9: note: Left side of '||' is false
  1195. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:31: note: Assuming 'negative' is 0
  1196.   499 |     if (status == NO_ERROR || negative)
  1197.       |                               ^~~~~~~~
  1198. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:5: note: Taking false branch
  1199.   499 |     if (status == NO_ERROR || negative)
  1200.       |     ^
  1201. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:502:9: note: Assuming field 'len' is 0
  1202.   502 |     if (parent_out->fh.len) {
  1203.       |         ^~~~~~~~~~~~~~~~~~
  1204. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:502:5: note: Taking false branch
  1205.   502 |     if (parent_out->fh.len) {
  1206.       |     ^
  1207. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:518:9: note: Assuming 'status' is equal to ERROR_FILESYSTEM_ABSENT
  1208.   518 |     if (status == ERROR_FILESYSTEM_ABSENT) {
  1209.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1210. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:518:5: note: Taking true branch
  1211.   518 |     if (status == ERROR_FILESYSTEM_ABSENT) {
  1212.       |     ^
  1213. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:519:9: note: 'new_session' declared without an initial value
  1214.   519 |         nfs41_session *new_session;
  1215.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
  1216. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:523:18: note: Calling 'referral_resolve'
  1217.   523 |         status = referral_resolve(root, session,
  1218.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1219.   524 |             &referral, path_inout, &new_session);
  1220.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1221. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:426:9: note: Assuming 'status' is not equal to 0
  1222.   426 |     if (status) {
  1223.       |         ^~~~~~
  1224. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:426:5: note: Taking true branch
  1225.   426 |     if (status) {
  1226.       |     ^
  1227. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:430:9: note: Control jumps to line 457
  1228.   430 |         goto out;
  1229.       |         ^
  1230. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:458:5: note: Returning without writing to '*session_out'
  1231.   458 |     return status;
  1232.       |     ^
  1233. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:458:5: note: Returning value (loaded from 'status'), which participates in a condition later
  1234.   458 |     return status;
  1235.       |     ^~~~~~~~~~~~~
  1236. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:523:18: note: Returning from 'referral_resolve'
  1237.   523 |         status = referral_resolve(root, session,
  1238.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1239.   524 |             &referral, path_inout, &new_session);
  1240.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1241. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:525:13: note: Assuming 'status' is 0
  1242.   525 |         if (status) {
  1243.       |             ^~~~~~
  1244. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:525:9: note: Taking false branch
  1245.   525 |         if (status) {
  1246.       |         ^
  1247. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:536:13: note: 'session_out' is non-null
  1248.   536 |         if (session_out) *session_out = new_session;
  1249.       |             ^~~~~~~~~~~
  1250. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:536:9: note: Taking true branch
  1251.   536 |         if (session_out) *session_out = new_session;
  1252.       |         ^
  1253. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:536:39: note: Assigned value is garbage or undefined
  1254.   536 |         if (session_out) *session_out = new_session;
  1255.       |                                       ^ ~~~~~~~~~~~
  1256. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c(539,18): warning G1E1330D0: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
  1257.   539 |         status = nfs41_lookup(root, new_session, path_inout,
  1258.       |                  ^                  ~~~~~~~~~~~
  1259. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:478:9: note: Assuming 'session_out' is null
  1260.   478 |     if (session_out) *session_out = session;
  1261.       |         ^~~~~~~~~~~
  1262. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:478:5: note: Taking false branch
  1263.   478 |     if (session_out) *session_out = session;
  1264.       |     ^
  1265. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:491:5: note: Assuming 'g_debug_level' is >= 2
  1266.   491 |     DPRINTF(LULVL, ("--> nfs41_lookup('%s')\n", path.path));
  1267.       |     ^
  1268. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1269.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1270.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1271. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1272.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1273.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  1274. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:491:5: note: Taking true branch
  1275.   491 |     DPRINTF(LULVL, ("--> nfs41_lookup('%s')\n", path.path));
  1276.       |     ^
  1277. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1278.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1279.       |         ^
  1280. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:493:9: note: Assuming 'parent_out' is not equal to NULL
  1281.   493 |     if (parent_out == NULL) parent_out = &parent;
  1282.       |         ^~~~~~~~~~~~~~~~~~
  1283. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:493:5: note: Taking false branch
  1284.   493 |     if (parent_out == NULL) parent_out = &parent;
  1285.       |     ^
  1286. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:494:9: note: Assuming 'target_out' is equal to NULL
  1287.   494 |     if (target_out == NULL) target_out = &target;
  1288.       |         ^~~~~~~~~~~~~~~~~~
  1289. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:494:5: note: Taking true branch
  1290.   494 |     if (target_out == NULL) target_out = &target;
  1291.       |     ^
  1292. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:9: note: Assuming 'status' is not equal to NO_ERROR
  1293.   499 |     if (status == NO_ERROR || negative)
  1294.       |         ^~~~~~~~~~~~~~~~~~
  1295. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:9: note: Left side of '||' is false
  1296. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:31: note: Assuming 'negative' is 0
  1297.   499 |     if (status == NO_ERROR || negative)
  1298.       |                               ^~~~~~~~
  1299. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:499:5: note: Taking false branch
  1300.   499 |     if (status == NO_ERROR || negative)
  1301.       |     ^
  1302. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:502:9: note: Assuming field 'len' is 0
  1303.   502 |     if (parent_out->fh.len) {
  1304.       |         ^~~~~~~~~~~~~~~~~~
  1305. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:502:5: note: Taking false branch
  1306.   502 |     if (parent_out->fh.len) {
  1307.       |     ^
  1308. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:518:9: note: Assuming 'status' is equal to ERROR_FILESYSTEM_ABSENT
  1309.   518 |     if (status == ERROR_FILESYSTEM_ABSENT) {
  1310.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1311. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:518:5: note: Taking true branch
  1312.   518 |     if (status == ERROR_FILESYSTEM_ABSENT) {
  1313.       |     ^
  1314. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:519:9: note: 'new_session' declared without an initial value
  1315.   519 |         nfs41_session *new_session;
  1316.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
  1317. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:523:18: note: Calling 'referral_resolve'
  1318.   523 |         status = referral_resolve(root, session,
  1319.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1320.   524 |             &referral, path_inout, &new_session);
  1321.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1322. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:426:9: note: Assuming 'status' is not equal to 0
  1323.   426 |     if (status) {
  1324.       |         ^~~~~~
  1325. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:426:5: note: Taking true branch
  1326.   426 |     if (status) {
  1327.       |     ^
  1328. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:430:9: note: Control jumps to line 457
  1329.   430 |         goto out;
  1330.       |         ^
  1331. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:458:5: note: Returning without writing to '*session_out'
  1332.   458 |     return status;
  1333.       |     ^
  1334. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:458:5: note: Returning value (loaded from 'status'), which participates in a condition later
  1335.   458 |     return status;
  1336.       |     ^~~~~~~~~~~~~
  1337. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:523:18: note: Returning from 'referral_resolve'
  1338.   523 |         status = referral_resolve(root, session,
  1339.       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1340.   524 |             &referral, path_inout, &new_session);
  1341.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1342. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:525:13: note: Assuming 'status' is 0
  1343.   525 |         if (status) {
  1344.       |             ^~~~~~
  1345. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:525:9: note: Taking false branch
  1346.   525 |         if (status) {
  1347.       |         ^
  1348. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:536:13: note: 'session_out' is null
  1349.   536 |         if (session_out) *session_out = new_session;
  1350.       |             ^~~~~~~~~~~
  1351. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:536:9: note: Taking false branch
  1352.   536 |         if (session_out) *session_out = new_session;
  1353.       |         ^
  1354. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\lookup.c:539:18: note: 2nd function call argument is an uninitialized value
  1355.   539 |         status = nfs41_lookup(root, new_session, path_inout,
  1356.       |                  ^                  ~~~~~~~~~~~
  1357. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c(354,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  1358.   354 |             (void)strcpy(entry->owner, info->owner);
  1359.       |                   ^~~~~~
  1360. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c:354:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  1361.   354 |             (void)strcpy(entry->owner, info->owner);
  1362.       |                   ^~~~~~
  1363. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c(359,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  1364.   359 |             (void)strcpy(entry->owner_group, info->owner_group);
  1365.       |                   ^~~~~~
  1366. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c:359:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  1367.   359 |             (void)strcpy(entry->owner_group, info->owner_group);
  1368.       |                   ^~~~~~
  1369. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c(442,15): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  1370.   442 |         (void)strcpy(dst->owner, src->owner);
  1371.       |               ^~~~~~
  1372. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c:442:15: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  1373.   442 |         (void)strcpy(dst->owner, src->owner);
  1374.       |               ^~~~~~
  1375. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c(451,15): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  1376.   451 |         (void)strcpy(dst->owner_group, src->owner_group);
  1377.       |               ^~~~~~
  1378. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\name_cache.c:451:15: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  1379.   451 |         (void)strcpy(dst->owner_group, src->owner_group);
  1380.       |               ^~~~~~
  1381. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c(207,9): warning G36456E0F: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
  1382.   207 |         status = upcall_handle(&nfs41_dg, &upcall);
  1383.       |         ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1384. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:207:9: note: Value stored to 'status' is never read
  1385.   207 |         status = upcall_handle(&nfs41_dg, &upcall);
  1386.       |         ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1387. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c(725,13): warning G36456E0F: Value stored to 'niin_ptr' is never read [clang-analyzer-deadcode.DeadStores]
  1388.   725 |             niin_ptr += snprintf(niin_ptr, IVS_REMAINING_NIINAME_BYTES,
  1389.       |             ^           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1390.   726 |                 ", cygwin_vers='%s'", unamebuf);
  1391.       |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1392. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:725:13: note: Value stored to 'niin_ptr' is never read
  1393.   725 |             niin_ptr += snprintf(niin_ptr, IVS_REMAINING_NIINAME_BYTES,
  1394.       |             ^           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1395.   726 |                 ", cygwin_vers='%s'", unamebuf);
  1396.       |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1397. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c(904,9): warning G4EBCC5AC: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
  1398.   904 |         WaitForSingleObject(tids[i].handle, INFINITE );
  1399.       |         ^                   ~~~~~~~~~~~~~~
  1400. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:781:5: note: Taking false branch
  1401.   781 |     if (!check_for_files())
  1402.       |     ^
  1403. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:783:10: note: Calling 'parse_cmdlineargs'
  1404.   783 |     if (!parse_cmdlineargs(argc, argv, &cmd_args))
  1405.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1406. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:323:17: note: Assuming 'i' is >= 'argc'
  1407.   323 |     for (i = 0; i < argc; i++) {
  1408.       |                 ^~~~~~~~
  1409. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:323:5: note: Loop condition is false. Execution continues on line 449
  1410.   323 |     for (i = 0; i < argc; i++) {
  1411.       |     ^
  1412. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:783:10: note: Returning from 'parse_cmdlineargs'
  1413.   783 |     if (!parse_cmdlineargs(argc, argv, &cmd_args))
  1414.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1415. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:783:5: note: Taking false branch
  1416.   783 |     if (!parse_cmdlineargs(argc, argv, &cmd_args))
  1417.       |     ^
  1418. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:808:9: note: Assuming the condition is false
  1419.   808 |     if (getdomainname()) {
  1420.       |         ^~~~~~~~~~~~~~~
  1421. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:808:5: note: Taking false branch
  1422.   808 |     if (getdomainname()) {
  1423.       |     ^
  1424. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:818:8: note: Assuming the condition is false
  1425.   818 |     if(SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS)) {
  1426.       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1427. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:818:5: note: Taking false branch
  1428.   818 |     if(SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS)) {
  1429.       |     ^
  1430. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:832:18: note: Field 'ldap_enable' is 1
  1431.   832 |     if (cmd_args.ldap_enable) {
  1432.       |                  ^
  1433. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:832:5: note: Taking true branch
  1434.   832 |     if (cmd_args.ldap_enable) {
  1435.       |     ^
  1436. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:833:17: note: Assuming the condition is true
  1437.   833 |         EASSERT(nfs41_dg.localdomain_name[0] != '\0');
  1438.       |                 ^
  1439. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  1440.    58 |     if (!(exp)) { \
  1441.       |           ^~~
  1442. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:833:9: note: Taking false branch
  1443.   833 |         EASSERT(nfs41_dg.localdomain_name[0] != '\0');
  1444.       |         ^
  1445. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  1446.    58 |     if (!(exp)) { \
  1447.       |     ^
  1448. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:837:13: note: Assuming 'status' is 0
  1449.   837 |         if (status) {
  1450.       |             ^~~~~~
  1451. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:837:9: note: Taking false branch
  1452.   837 |         if (status) {
  1453.       |         ^
  1454. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:844:5: note: Assuming 'g_debug_level' is < 1
  1455.   844 |     DPRINTF(1, ("NFS41 Daemon starting: version %d\n", NFS41D_VERSION));
  1456.       |     ^
  1457. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1458.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1459.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1460. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1461.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1462.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  1463. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:844:5: note: Taking false branch
  1464.   844 |     DPRINTF(1, ("NFS41 Daemon starting: version %d\n", NFS41D_VERSION));
  1465.       |     ^
  1466. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1467.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1468.       |         ^
  1469. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:849:9: note: Assuming the condition is false
  1470.   849 |     if (pipe == INVALID_HANDLE_VALUE)
  1471.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1472. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:849:5: note: Taking false branch
  1473.   849 |     if (pipe == INVALID_HANDLE_VALUE)
  1474.       |     ^
  1475. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:855:5: note: 'g_debug_level' is < 1
  1476.   855 |     DPRINTF(1, ("starting nfs41 mini redirector\n"));
  1477.       |     ^
  1478. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1479.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1480.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1481. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1482.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1483.       |                                                  ^~~~~~~~~~~~~
  1484. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:855:5: note: Taking false branch
  1485.   855 |     DPRINTF(1, ("starting nfs41 mini redirector\n"));
  1486.       |     ^
  1487. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1488.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1489.       |         ^
  1490. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:858:9: note: Assuming 'status' is not equal to 0
  1491.   858 |     if (!status) {
  1492.       |         ^~~~~~~
  1493. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:858:5: note: Taking false branch
  1494.   858 |     if (!status) {
  1495.       |     ^
  1496. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:870:5: note: 'g_debug_level' is < 1
  1497.   870 |     DPRINTF(1, ("Starting %d worker threads...\n",
  1498.       |     ^
  1499. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1500.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1501.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1502. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1503.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1504.       |                                                  ^~~~~~~~~~~~~
  1505. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:870:5: note: Taking false branch
  1506.   870 |     DPRINTF(1, ("Starting %d worker threads...\n",
  1507.       |     ^
  1508. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1509.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1510.       |         ^
  1511. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:872:17: note: Assuming 'i' is >= field 'num_worker_threads'
  1512.   872 |     for (i = 0; i < nfs41_dg.num_worker_threads; i++) {
  1513.       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1514. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:872:5: note: Loop condition is false. Execution continues on line 888
  1515.   872 |     for (i = 0; i < nfs41_dg.num_worker_threads; i++) {
  1516.       |     ^
  1517. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:902:5: note: Assuming 'g_debug_level' is < 1
  1518.   902 |     DPRINTF(1, ("Parent waiting for children threads\n"));
  1519.       |     ^
  1520. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  1521.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1522.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1523. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  1524.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  1525.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  1526. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:902:5: note: Taking false branch
  1527.   902 |     DPRINTF(1, ("Parent waiting for children threads\n"));
  1528.       |     ^
  1529. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  1530.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  1531.       |         ^
  1532. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:903:17: note: Assuming 'i' is < field 'num_worker_threads'
  1533.   903 |     for (i = 0; i < nfs41_dg.num_worker_threads; i++)
  1534.       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1535. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:903:5: note: Loop condition is true.  Entering loop body
  1536.   903 |     for (i = 0; i < nfs41_dg.num_worker_threads; i++)
  1537.       |     ^
  1538. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_daemon.c:904:9: note: 1st function call argument is an uninitialized value
  1539.   904 |         WaitForSingleObject(tids[i].handle, INFINITE );
  1540.       |         ^                   ~~~~~~~~~~~~~~
  1541. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c(474,5): warning G29764502: Dereference of null pointer [clang-analyzer-core.NullDereference]
  1542.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1543.       |     ^
  1544. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1545.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1546.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1547. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:19: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1548.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1549.       |                   ^~~~~
  1550. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:470:32: note: Assuming field 'type' is equal to OPEN_DELEGATE_READ
  1551.   470 |     bool_t already_delegated = delegation->type == OPEN_DELEGATE_READ
  1552.       |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1553. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:471:9: note: Left side of '||' is true
  1554.   471 |         || delegation->type == OPEN_DELEGATE_WRITE;
  1555.       |         ^
  1556. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Assuming 'parent' is not equal to -2459565876494606883
  1557.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1558.       |     ^
  1559. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1560.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1561.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1562. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1563.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1564.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1565. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Left side of '&&' is true
  1566.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1567.       |     ^
  1568. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1569.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1570.       |          ^
  1571. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:9: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1572.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1573.       |         ^
  1574. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Assuming 'parent' is not equal to -1
  1575.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1576.       |     ^
  1577. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1578.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1579.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1580. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:45:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1581.    45 |         (((char *)(ptr)) != ((char *)0xffffffffffffffffLL)) && \
  1582.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1583. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Left side of '&&' is true
  1584.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1585.       |     ^
  1586. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1587.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1588.       |          ^
  1589. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:9: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1590.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1591.       |         ^
  1592. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Assuming 'parent' is equal to null
  1593.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1594.       |     ^
  1595. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1596.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1597.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1598. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:46:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1599.    46 |         ((ptr) != NULL) \
  1600.       |          ^~~~~~~~~~~~~
  1601. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Taking true branch
  1602.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1603.       |     ^
  1604. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:5: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1605.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1606.       |     ^
  1607. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:474:5: note: Dereference of null pointer
  1608.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1609.       |     ^
  1610. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1611.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1612.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1613. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:19: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1614.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1615.       |                   ^~~~~
  1616. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c(583,23): warning G4E466640: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  1617.   583 |     if (dir_info.type == NF4ATTRDIR) {
  1618.       |         ~~~~~~~~~~~~~ ^
  1619. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:470:32: note: Assuming field 'type' is equal to OPEN_DELEGATE_READ
  1620.   470 |     bool_t already_delegated = delegation->type == OPEN_DELEGATE_READ
  1621.       |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1622. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:471:9: note: Left side of '||' is true
  1623.   471 |         || delegation->type == OPEN_DELEGATE_WRITE;
  1624.       |         ^
  1625. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Assuming 'parent' is not equal to -2459565876494606883
  1626.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1627.       |     ^
  1628. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1629.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1630.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1631. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1632.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1633.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1634. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Left side of '&&' is true
  1635.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1636.       |     ^
  1637. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1638.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1639.       |          ^
  1640. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:9: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1641.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1642.       |         ^
  1643. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Assuming 'parent' is not equal to -1
  1644.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1645.       |     ^
  1646. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1647.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1648.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1649. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:45:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1650.    45 |         (((char *)(ptr)) != ((char *)0xffffffffffffffffLL)) && \
  1651.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1652. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Left side of '&&' is true
  1653.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1654.       |     ^
  1655. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1656.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1657.       |          ^
  1658. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:9: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1659.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1660.       |         ^
  1661. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Assuming 'parent' is not equal to null
  1662.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1663.       |     ^
  1664. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1665.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1666.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1667. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:46:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1668.    46 |         ((ptr) != NULL) \
  1669.       |          ^~~~~~~~~~~~~
  1670. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:473:5: note: Taking false branch
  1671.   473 |     EASSERT_IS_VALID_NON_NULL_PTR(parent);
  1672.       |     ^
  1673. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:5: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1674.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1675.       |     ^
  1676. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:474:5: note: Assuming field 'superblock' is not equal to -2459565876494606883
  1677.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1678.       |     ^
  1679. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1680.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1681.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1682. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1683.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1684.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1685. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:474:5: note: Left side of '&&' is true
  1686.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1687.       |     ^
  1688. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1689.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1690.       |          ^
  1691. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:9: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1692.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1693.       |         ^
  1694. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:474:5: note: Assuming field 'superblock' is not equal to -1
  1695.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1696.       |     ^
  1697. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1698.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1699.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1700. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:45:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1701.    45 |         (((char *)(ptr)) != ((char *)0xffffffffffffffffLL)) && \
  1702.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1703. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:474:5: note: Left side of '&&' is true
  1704.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1705.       |     ^
  1706. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1707.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1708.       |          ^
  1709. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:44:9: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1710.    44 |         (((char *)(ptr)) != ((char *)0xddddddddddddddddLL)) && \
  1711.       |         ^
  1712. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:474:5: note: Assuming field 'superblock' is not equal to null
  1713.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1714.       |     ^
  1715. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:10: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1716.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1717.       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1718. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:46:10: note: expanded from macro 'DEBUG_IS_VALID_NON_NULL_PTR'
  1719.    46 |         ((ptr) != NULL) \
  1720.       |          ^~~~~~~~~~~~~
  1721. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:474:5: note: Taking false branch
  1722.   474 |     EASSERT_IS_VALID_NON_NULL_PTR(parent->fh.superblock);
  1723.       |     ^
  1724. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:100:5: note: expanded from macro 'EASSERT_IS_VALID_NON_NULL_PTR'
  1725.   100 |     if (!DEBUG_IS_VALID_NON_NULL_PTR(exp)) { \
  1726.       |     ^
  1727. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:478:5: note: Control jumps to the 'default' case at line 492
  1728.   478 |     switch (claim->claim) {
  1729.       |     ^
  1730. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:497:9: note:  Execution continues on line 500
  1731.   497 |         break;
  1732.       |         ^
  1733. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:500:9: note: Assuming 'info' is not equal to NULL
  1734.   500 |     if (info == NULL)
  1735.       |         ^~~~~~~~~~~~
  1736. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:500:5: note: Taking false branch
  1737.   500 |     if (info == NULL)
  1738.       |     ^
  1739. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:511:9: note: 'current_fh_is_dir' is 0
  1740.   511 |     if (current_fh_is_dir) {
  1741.       |         ^~~~~~~~~~~~~~~~~
  1742. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:511:5: note: Taking false branch
  1743.   511 |     if (current_fh_is_dir) {
  1744.       |     ^
  1745. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:537:9: note: Assuming 'how_mode' is not equal to EXCLUSIVE4_1
  1746.   537 |     if (how_mode == EXCLUSIVE4_1) {
  1747.       |         ^~~~~~~~~~~~~~~~~~~~~~~~
  1748. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:537:5: note: Taking false branch
  1749.   537 |     if (how_mode == EXCLUSIVE4_1) {
  1750.       |     ^
  1751. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:544:16: note: Assuming 'createattrs' is null
  1752.   544 |     } else if (createattrs) {
  1753.       |                ^~~~~~~~~~~
  1754. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:544:12: note: Taking false branch
  1755.   544 |     } else if (createattrs) {
  1756.       |            ^
  1757. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:553:9: note: 'current_fh_is_dir' is 0
  1758.   553 |     if (current_fh_is_dir) {
  1759.       |         ^~~~~~~~~~~~~~~~~
  1760. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:553:5: note: Taking false branch
  1761.   553 |     if (current_fh_is_dir) {
  1762.       |     ^
  1763. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:563:9: note: 'current_fh_is_dir' is 0
  1764.   563 |     if (current_fh_is_dir) {
  1765.       |         ^~~~~~~~~~~~~~~~~
  1766. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:563:5: note: Taking false branch
  1767.   563 |     if (current_fh_is_dir) {
  1768.       |     ^
  1769. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:577:9: note: Assuming 'status' is 0
  1770.   577 |     if (status)
  1771.       |         ^~~~~~
  1772. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:577:5: note: Taking false branch
  1773.   577 |     if (status)
  1774.       |     ^
  1775. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:580:9: note: Assuming the condition is false
  1776.   580 |     if (compound_error(status = compound.res.status))
  1777.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1778. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:580:5: note: Taking false branch
  1779.   580 |     if (compound_error(status = compound.res.status))
  1780.       |     ^
  1781. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:583:23: note: The left operand of '==' is a garbage value
  1782.   583 |     if (dir_info.type == NF4ATTRDIR) {
  1783.       |         ~~~~~~~~~~~~~ ^
  1784. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c(747,19): warning G4E466640: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  1785.   747 |     if (info.type == NF4NAMEDATTR)
  1786.       |         ~~~~~~~~~ ^
  1787. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:741:9: note: Assuming 'status' is 0
  1788.   741 |     if (status)
  1789.       |         ^~~~~~
  1790. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:741:5: note: Taking false branch
  1791.   741 |     if (status)
  1792.       |     ^
  1793. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:744:9: note: Assuming the condition is false
  1794.   744 |     if (compound_error(status = compound.res.status))
  1795.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1796. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:744:5: note: Taking false branch
  1797.   744 |     if (compound_error(status = compound.res.status))
  1798.       |     ^
  1799. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:747:19: note: The left operand of '==' is a garbage value
  1800.   747 |     if (info.type == NF4NAMEDATTR)
  1801.       |         ~~~~~~~~~ ^
  1802. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c(1323,19): warning G4E466640: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  1803.  1323 |     if (info.type == NF4ATTRDIR)
  1804.       |         ~~~~~~~~~ ^
  1805. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:1317:9: note: Assuming 'status' is 0
  1806.  1317 |     if (status)
  1807.       |         ^~~~~~
  1808. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:1317:5: note: Taking false branch
  1809.  1317 |     if (status)
  1810.       |     ^
  1811. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:1320:9: note: Assuming the condition is false
  1812.  1320 |     if (compound_error(status = compound.res.status))
  1813.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1814. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:1320:5: note: Taking false branch
  1815.  1320 |     if (compound_error(status = compound.res.status))
  1816.       |     ^
  1817. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:1323:19: note: The left operand of '==' is a garbage value
  1818.  1323 |     if (info.type == NF4ATTRDIR)
  1819.       |         ~~~~~~~~~ ^
  1820. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c(1523,42): warning G75AA7332: '&&' within '||' [clang-diagnostic-logical-op-parentheses]
  1821.  1522 |             (setattr_res.attrsset.arr[0] & FATTR4_WORD0_SIZE)) ||
  1822.       |                                                                ~~
  1823.  1523 |         (setattr_res.attrsset.count > 1) &&
  1824.       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
  1825.  1524 |             (setattr_res.attrsset.arr[1] & FATTR4_WORD1_SPACE_USED))
  1826.       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1827. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_ops.c:1523:42: note: place parentheses around the '&&' expression to silence this warning
  1828.  1523 |         (setattr_res.attrsset.count > 1) &&
  1829.       |                                          ^
  1830.       |         (
  1831.  1524 |             (setattr_res.attrsset.arr[1] & FATTR4_WORD1_SPACE_USED))
  1832.       |                                                                    
  1833.       |                                                                    )
  1834. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_rpc.c(40,22): warning GC5E5EB67: cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [clang-diagnostic-cast-function-type-mismatch]
  1835.    40 |                      (xdrproc_t)xdr_void, NULL,
  1836.       |                      ^
  1837. ..\..\libtirpc\tirpc\rpc/clnt.h:203:38: note: expanded from macro 'clnt_call'
  1838.   203 |         ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, \
  1839.       |                                             ^~~~~
  1840. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_rpc.c(41,22): warning GC5E5EB67: cast from 'bool_t (*)(void)' (aka 'int (*)(void)') to 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') converts to incompatible function type [clang-diagnostic-cast-function-type-mismatch]
  1841.    41 |                      (xdrproc_t)xdr_void, NULL, timeout);
  1842.       |                      ^
  1843. ..\..\libtirpc\tirpc\rpc/clnt.h:204:10: note: expanded from macro 'clnt_call'
  1844.   204 |                 argsp, xres, resp, secs))
  1845.       |                        ^~~~
  1846. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c(334,24): warning G5C0E2821: Access to field 'flags' results in a dereference of an undefined pointer value (loaded from variable 'session') [clang-analyzer-core.NullDereference]
  1847.   334 |         session->flags |= CREATE_SESSION4_FLAG_CONN_BACK_CHAN;
  1848.       |         ~~~~~~~        ^
  1849. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:323:5: note: 'session' declared without an initial value
  1850.   323 |     nfs41_session *session;
  1851.       |     ^~~~~~~~~~~~~~~~~~~~~~
  1852. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:326:14: note: Calling 'session_alloc'
  1853.   326 |     status = session_alloc(client, &session);
  1854.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1855. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:294:9: note: Assuming 'session' is equal to NULL
  1856.   294 |     if (session == NULL) {
  1857.       |         ^~~~~~~~~~~~~~~
  1858. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:294:5: note: Taking true branch
  1859.   294 |     if (session == NULL) {
  1860.       |     ^
  1861. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:296:9: note: Control jumps to line 316
  1862.   296 |         goto out;
  1863.       |         ^
  1864. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:316:5: note: Returning without writing to '*session_out'
  1865.   316 |     return status;
  1866.       |     ^
  1867. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:316:5: note: Returning value (loaded from 'status'), which participates in a condition later
  1868.   316 |     return status;
  1869.       |     ^~~~~~~~~~~~~
  1870. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:326:14: note: Returning from 'session_alloc'
  1871.   326 |     status = session_alloc(client, &session);
  1872.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1873. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:327:9: note: Assuming 'status' is 0
  1874.   327 |     if (status) {
  1875.       |         ^~~~~~
  1876. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:327:5: note: Taking false branch
  1877.   327 |     if (status) {
  1878.       |     ^
  1879. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:333:9: note: Assuming field 'needcb' is not equal to 0
  1880.   333 |     if (client->rpc->needcb)
  1881.       |         ^~~~~~~~~~~~~~~~~~~
  1882. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:333:5: note: Taking true branch
  1883.   333 |     if (client->rpc->needcb)
  1884.       |     ^
  1885. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:334:24: note: Access to field 'flags' results in a dereference of an undefined pointer value (loaded from variable 'session')
  1886.   334 |         session->flags |= CREATE_SESSION4_FLAG_CONN_BACK_CHAN;
  1887.       |         ~~~~~~~        ^
  1888. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c(335,20): warning G5C0E2821: Access to field 'flags' results in a dereference of an undefined pointer value (loaded from variable 'session') [clang-analyzer-core.NullDereference]
  1889.   335 |     session->flags |= CREATE_SESSION4_FLAG_PERSIST;
  1890.       |     ~~~~~~~        ^
  1891. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:323:5: note: 'session' declared without an initial value
  1892.   323 |     nfs41_session *session;
  1893.       |     ^~~~~~~~~~~~~~~~~~~~~~
  1894. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:326:14: note: Calling 'session_alloc'
  1895.   326 |     status = session_alloc(client, &session);
  1896.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1897. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:294:9: note: Assuming 'session' is equal to NULL
  1898.   294 |     if (session == NULL) {
  1899.       |         ^~~~~~~~~~~~~~~
  1900. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:294:5: note: Taking true branch
  1901.   294 |     if (session == NULL) {
  1902.       |     ^
  1903. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:296:9: note: Control jumps to line 316
  1904.   296 |         goto out;
  1905.       |         ^
  1906. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:316:5: note: Returning without writing to '*session_out'
  1907.   316 |     return status;
  1908.       |     ^
  1909. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:316:5: note: Returning value (loaded from 'status'), which participates in a condition later
  1910.   316 |     return status;
  1911.       |     ^~~~~~~~~~~~~
  1912. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:326:14: note: Returning from 'session_alloc'
  1913.   326 |     status = session_alloc(client, &session);
  1914.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1915. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:327:9: note: Assuming 'status' is 0
  1916.   327 |     if (status) {
  1917.       |         ^~~~~~
  1918. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:327:5: note: Taking false branch
  1919.   327 |     if (status) {
  1920.       |     ^
  1921. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:333:9: note: Assuming field 'needcb' is 0
  1922.   333 |     if (client->rpc->needcb)
  1923.       |         ^~~~~~~~~~~~~~~~~~~
  1924. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:333:5: note: Taking false branch
  1925.   333 |     if (client->rpc->needcb)
  1926.       |     ^
  1927. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41_session.c:335:20: note: Access to field 'flags' results in a dereference of an undefined pointer value (loaded from variable 'session')
  1928.   335 |     session->flags |= CREATE_SESSION4_FLAG_PERSIST;
  1929.       |     ~~~~~~~        ^
  1930. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(64,11): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  1931.    64 |     (void)strcpy(state->path.path, path);
  1932.       |           ^~~~~~
  1933. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:64:11: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  1934.    64 |     (void)strcpy(state->path.path, path);
  1935.       |           ^~~~~~
  1936. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(249,23): warning G4E466640: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  1937.   249 |         if (arg->type == STATEID_DELEG_FILE)
  1938.       |                       ^
  1939. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:17: note: Assuming the condition is false
  1940.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  1941.       |                 ^
  1942. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  1943.    65 |     if (!(exp)) { \
  1944.       |           ^~~
  1945. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:5: note: Taking true branch
  1946.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  1947.       |     ^
  1948. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  1949.    65 |     if (!(exp)) { \
  1950.       |     ^
  1951. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:17: note: Assuming the condition is false
  1952.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  1953.       |                 ^
  1954. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  1955.    65 |     if (!(exp)) { \
  1956.       |           ^~~
  1957. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:5: note: Taking true branch
  1958.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  1959.       |     ^
  1960. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  1961.    65 |     if (!(exp)) { \
  1962.       |     ^
  1963. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:17: note: Assuming the condition is false
  1964.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  1965.       |                 ^
  1966. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  1967.    65 |     if (!(exp)) { \
  1968.       |           ^~~
  1969. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:5: note: Taking true branch
  1970.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  1971.       |     ^
  1972. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  1973.    65 |     if (!(exp)) { \
  1974.       |     ^
  1975. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:17: note: Assuming the condition is false
  1976.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  1977.       |                 ^
  1978. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  1979.    65 |     if (!(exp)) { \
  1980.       |           ^~~
  1981. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:5: note: Taking true branch
  1982.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  1983.       |     ^
  1984. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  1985.    65 |     if (!(exp)) { \
  1986.       |     ^
  1987. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:17: note: Assuming the condition is false
  1988.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  1989.       |                 ^
  1990. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  1991.    65 |     if (!(exp)) { \
  1992.       |           ^~~
  1993. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:5: note: Taking true branch
  1994.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  1995.       |     ^
  1996. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  1997.    65 |     if (!(exp)) { \
  1998.       |     ^
  1999. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:9: note: 'status' is 0
  2000.   719 |     if (status) {
  2001.       |         ^~~~~~
  2002. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:5: note: Taking false branch
  2003.   719 |     if (status) {
  2004.       |     ^
  2005. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:727:9: note: Assuming the condition is false
  2006.   727 |     if (args->create_opts & FILE_DIRECTORY_FILE)
  2007.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2008. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:727:5: note: Taking false branch
  2009.   727 |     if (args->create_opts & FILE_DIRECTORY_FILE)
  2010.       |     ^
  2011. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:736:9: note: Assuming 'status' is not equal to ERROR_REPARSE
  2012.   736 |     if (status == ERROR_REPARSE) {
  2013.       |         ^~~~~~~~~~~~~~~~~~~~~~~
  2014. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:736:5: note: Taking false branch
  2015.   736 |     if (status == ERROR_REPARSE) {
  2016.       |     ^
  2017. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:771:9: note: Assuming 'status' is not equal to NO_ERROR
  2018.   771 |     if (status == NO_ERROR) {
  2019.       |         ^~~~~~~~~~~~~~~~~~
  2020. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:771:5: note: Taking false branch
  2021.   771 |     if (status == NO_ERROR) {
  2022.       |     ^
  2023. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:824:16: note: Assuming 'status' is equal to ERROR_FILE_NOT_FOUND
  2024.   824 |     } else if (status != ERROR_FILE_NOT_FOUND)
  2025.       |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2026. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:824:12: note: Taking false branch
  2027.   824 |     } else if (status != ERROR_FILE_NOT_FOUND)
  2028.       |            ^
  2029. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:837:9: note: Assuming field 'disposition' is not equal to FILE_CREATE
  2030.   837 |     if (args->disposition == FILE_CREATE &&
  2031.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2032. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:837:42: note: Left side of '&&' is false
  2033.   837 |     if (args->disposition == FILE_CREATE &&
  2034.       |                                          ^
  2035. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:855:16: note: Assuming field 'len' is 0
  2036.   855 |     } else if (args->symlink.len) {
  2037.       |                ^~~~~~~~~~~~~~~~~
  2038. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:855:12: note: Taking false branch
  2039.   855 |     } else if (args->symlink.len) {
  2040.       |            ^
  2041. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:890:12: note: Taking false branch
  2042.   890 |     } else if (open_for_attributes(state->type, args->access_mask,
  2043.       |            ^
  2044. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1025:14: note: 'lookup_status' is 2
  2045.  1025 |         if (!lookup_status && (args->disposition == FILE_OVERWRITE ||
  2046.       |              ^~~~~~~~~~~~~
  2047. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1025:28: note: Left side of '&&' is false
  2048.  1025 |         if (!lookup_status && (args->disposition == FILE_OVERWRITE ||
  2049.       |                            ^
  2050. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1040:30: note: Assuming the condition is false
  2051.  1040 |         createattrs.hidden = args->file_attrs & FILE_ATTRIBUTE_HIDDEN ? 1 : 0;
  2052.       |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2053. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1040:30: note: '?' condition is false
  2054. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1041:30: note: Assuming the condition is false
  2055.  1041 |         createattrs.system = args->file_attrs & FILE_ATTRIBUTE_SYSTEM ? 1 : 0;
  2056.       |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2057. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1041:30: note: '?' condition is false
  2058. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1042:31: note: Assuming the condition is true
  2059.  1042 |         createattrs.archive = args->file_attrs & FILE_ATTRIBUTE_ARCHIVE ? 1 : 0;
  2060.       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2061. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1042:31: note: '?' condition is true
  2062. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1049:13: note: Assuming 'status' is 0
  2063.  1049 |         if (status)
  2064.       |             ^~~~~~
  2065. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1049:9: note: Taking false branch
  2066.  1049 |         if (status)
  2067.       |         ^
  2068. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1052:13: note: Assuming the condition is false
  2069.  1052 |         if (args->access_mask & FILE_EXECUTE && state->file.fh.len) {
  2070.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2071. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1052:46: note: Left side of '&&' is false
  2072.  1052 |         if (args->access_mask & FILE_EXECUTE && state->file.fh.len) {
  2073.       |                                              ^
  2074. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1060:13: note: Assuming field 'disposition' is not equal to FILE_SUPERSEDE
  2075.  1060 |         if (args->disposition == FILE_SUPERSEDE && lookup_status == NO_ERROR) {
  2076.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2077. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1060:49: note: Left side of '&&' is false
  2078.  1060 |         if (args->disposition == FILE_SUPERSEDE && lookup_status == NO_ERROR) {
  2079.       |                                                 ^
  2080. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1073:13: note: Assuming 'create' is equal to OPEN4_CREATE
  2081.  1073 |         if (create == OPEN4_CREATE && (args->create_opts & FILE_DIRECTORY_FILE)) {
  2082.       |             ^~~~~~~~~~~~~~~~~~~~~~
  2083. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1073:13: note: Left side of '&&' is true
  2084. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1073:40: note: Assuming the condition is true
  2085.  1073 |         if (create == OPEN4_CREATE && (args->create_opts & FILE_DIRECTORY_FILE)) {
  2086.       |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2087. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1073:9: note: Taking true branch
  2088.  1073 |         if (create == OPEN4_CREATE && (args->create_opts & FILE_DIRECTORY_FILE)) {
  2089.       |         ^
  2090. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1076:29: note: Assuming 'status' is equal to NFS4_OK
  2091.  1076 |             args->created = status == NFS4_OK ? TRUE : FALSE;
  2092.       |                             ^~~~~~~~~~~~~~~~~
  2093. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1076:29: note: '?' condition is true
  2094. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1086:13: note: 'status' is 0
  2095.  1086 |         if (status) {
  2096.       |             ^~~~~~
  2097. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1086:9: note: Taking false branch
  2098.  1086 |         if (status) {
  2099.       |         ^
  2100. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1101:17: note: 'create' is equal to OPEN4_CREATE
  2101.  1101 |             if (create == OPEN4_CREATE) {
  2102.       |                 ^~~~~~
  2103. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1101:13: note: Taking true branch
  2104.  1101 |             if (create == OPEN4_CREATE) {
  2105.       |             ^
  2106. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1112:21: note: Assuming the condition is false
  2107.  1112 |                 if (!get_token_primarygroup_name(upcall->currentthread_token,
  2108.       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2109.  1113 |                     createchgrpattrs.owner_group)) {
  2110.       |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2111. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1112:17: note: Taking false branch
  2112.  1112 |                 if (!get_token_primarygroup_name(upcall->currentthread_token,
  2113.       |                 ^
  2114. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1121:17: note: Assuming 'g_debug_level' is < 1
  2115.  1121 |                 DPRINTF(1, ("handle_open(): OPEN4_CREATE: owner_group='%s'\n",
  2116.       |                 ^
  2117. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  2118.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2119.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2120. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  2121.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  2122.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  2123. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1121:17: note: Taking false branch
  2124.  1121 |                 DPRINTF(1, ("handle_open(): OPEN4_CREATE: owner_group='%s'\n",
  2125.       |                 ^
  2126. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  2127.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2128.       |         ^
  2129. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:1124:17: note: Calling 'nfs41_open_stateid_arg'
  2130.  1124 |                 nfs41_open_stateid_arg(state, &stateid);
  2131.       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2132. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:240:9: note: Assuming field 'state' is non-null
  2133.   240 |     if (state->delegation.state) {
  2134.       |         ^~~~~~~~~~~~~~~~~~~~~~~
  2135. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:240:5: note: Taking true branch
  2136.   240 |     if (state->delegation.state) {
  2137.       |     ^
  2138. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:243:13: note: Assuming field 'status' is not equal to DELEGATION_GRANTED
  2139.   243 |         if (deleg->status == DELEGATION_GRANTED) {
  2140.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2141. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:243:9: note: Taking false branch
  2142.   243 |         if (deleg->status == DELEGATION_GRANTED) {
  2143.       |         ^
  2144. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:249:23: note: The left operand of '==' is a garbage value
  2145.   249 |         if (arg->type == STATEID_DELEG_FILE)
  2146.       |             ~~~~~~~~~ ^
  2147. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(640,15): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  2148.   640 |         (void)strcpy(symlink->path, ntpath_buf);
  2149.       |               ^~~~~~
  2150. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:640:15: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  2151.   640 |         (void)strcpy(symlink->path, ntpath_buf);
  2152.       |               ^~~~~~
  2153. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(660,15): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  2154.   660 |         (void)strcpy(symlink->path, ntpath_buf);
  2155.       |               ^~~~~~
  2156. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:660:15: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  2157.   660 |         (void)strcpy(symlink->path, ntpath_buf);
  2158.       |               ^~~~~~
  2159. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(724,21): warning G5C0E2821: Access to field 'srv_open' results in a dereference of an undefined pointer value (loaded from variable 'state') [clang-analyzer-core.NullDereference]
  2160.   724 |     state->srv_open = args->srv_open;
  2161.       |     ~~~~~           ^
  2162. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:695:5: note: 'state' declared without an initial value
  2163.   695 |     nfs41_open_state *state;
  2164.       |     ^~~~~~~~~~~~~~~~~~~~~~~
  2165. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:17: note: Assuming the condition is true
  2166.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  2167.       |                 ^
  2168. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2169.    65 |     if (!(exp)) { \
  2170.       |           ^~~
  2171. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:5: note: Taking false branch
  2172.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  2173.       |     ^
  2174. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2175.    65 |     if (!(exp)) { \
  2176.       |     ^
  2177. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:17: note: Assuming the condition is true
  2178.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  2179.       |                 ^
  2180. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2181.    65 |     if (!(exp)) { \
  2182.       |           ^~~
  2183. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:5: note: Taking false branch
  2184.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  2185.       |     ^
  2186. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2187.    65 |     if (!(exp)) { \
  2188.       |     ^
  2189. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:17: note: Assuming the condition is true
  2190.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  2191.       |                 ^
  2192. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2193.    65 |     if (!(exp)) { \
  2194.       |           ^~~
  2195. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:5: note: Taking false branch
  2196.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  2197.       |     ^
  2198. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2199.    65 |     if (!(exp)) { \
  2200.       |     ^
  2201. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:17: note: Assuming the condition is true
  2202.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  2203.       |                 ^
  2204. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2205.    65 |     if (!(exp)) { \
  2206.       |           ^~~
  2207. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:5: note: Taking false branch
  2208.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  2209.       |     ^
  2210. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2211.    65 |     if (!(exp)) { \
  2212.       |     ^
  2213. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:17: note: Assuming the condition is true
  2214.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  2215.       |                 ^
  2216. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2217.    65 |     if (!(exp)) { \
  2218.       |           ^~~
  2219. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:5: note: Taking false branch
  2220.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  2221.       |     ^
  2222. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2223.    65 |     if (!(exp)) { \
  2224.       |     ^
  2225. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:718:14: note: Calling 'create_open_state'
  2226.   718 |     status = create_open_state(args->path, args->open_owner_id, &state);
  2227.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2228. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:51:9: note: Assuming 'state' is equal to NULL
  2229.    51 |     if (state == NULL) {
  2230.       |         ^~~~~~~~~~~~~
  2231. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:51:5: note: Taking true branch
  2232.    51 |     if (state == NULL) {
  2233.       |     ^
  2234. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:53:9: note: Control jumps to line 91
  2235.    53 |         goto out;
  2236.       |         ^
  2237. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:91:5: note: Returning without writing to '*state_out'
  2238.    91 |     return status;
  2239.       |     ^
  2240. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:91:5: note: Returning value (loaded from 'status'), which participates in a condition later
  2241.    91 |     return status;
  2242.       |     ^~~~~~~~~~~~~
  2243. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:718:14: note: Returning from 'create_open_state'
  2244.   718 |     status = create_open_state(args->path, args->open_owner_id, &state);
  2245.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2246. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:9: note: Assuming 'status' is 0
  2247.   719 |     if (status) {
  2248.       |         ^~~~~~
  2249. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:5: note: Taking false branch
  2250.   719 |     if (status) {
  2251.       |     ^
  2252. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:724:21: note: Access to field 'srv_open' results in a dereference of an undefined pointer value (loaded from variable 'state')
  2253.   724 |     state->srv_open = args->srv_open;
  2254.       |     ~~~~~           ^
  2255. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(945,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  2256.   945 |             (void)strcpy(info.owner, og_info.owner);
  2257.       |                   ^~~~~~
  2258. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:945:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  2259.   945 |             (void)strcpy(info.owner, og_info.owner);
  2260.       |                   ^~~~~~
  2261. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(948,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  2262.   948 |             (void)strcpy(info.owner_group, og_info.owner_group);
  2263.       |                   ^~~~~~
  2264. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:948:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  2265.   948 |             (void)strcpy(info.owner_group, og_info.owner_group);
  2266.       |                   ^~~~~~
  2267. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(959,17): warning G319FBF53: Null pointer passed as 1st argument to string length function [clang-analyzer-unix.cstring.NullArg]
  2268.   959 |         EASSERT(strlen(info.owner) > 0);
  2269.       |                 ^
  2270. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2271.    58 |     if (!(exp)) { \
  2272.       |           ^~~
  2273. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:17: note: Assuming the condition is false
  2274.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  2275.       |                 ^
  2276. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2277.    65 |     if (!(exp)) { \
  2278.       |           ^~~
  2279. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:5: note: Taking true branch
  2280.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  2281.       |     ^
  2282. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2283.    65 |     if (!(exp)) { \
  2284.       |     ^
  2285. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:17: note: Assuming the condition is false
  2286.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  2287.       |                 ^
  2288. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2289.    65 |     if (!(exp)) { \
  2290.       |           ^~~
  2291. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:5: note: Taking true branch
  2292.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  2293.       |     ^
  2294. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2295.    65 |     if (!(exp)) { \
  2296.       |     ^
  2297. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:17: note: Assuming the condition is false
  2298.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  2299.       |                 ^
  2300. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2301.    65 |     if (!(exp)) { \
  2302.       |           ^~~
  2303. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:5: note: Taking true branch
  2304.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  2305.       |     ^
  2306. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2307.    65 |     if (!(exp)) { \
  2308.       |     ^
  2309. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:17: note: Assuming the condition is false
  2310.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  2311.       |                 ^
  2312. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2313.    65 |     if (!(exp)) { \
  2314.       |           ^~~
  2315. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:5: note: Taking true branch
  2316.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  2317.       |     ^
  2318. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2319.    65 |     if (!(exp)) { \
  2320.       |     ^
  2321. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:17: note: Assuming the condition is false
  2322.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  2323.       |                 ^
  2324. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2325.    65 |     if (!(exp)) { \
  2326.       |           ^~~
  2327. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:5: note: Taking true branch
  2328.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  2329.       |     ^
  2330. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2331.    65 |     if (!(exp)) { \
  2332.       |     ^
  2333. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:718:14: note: Calling 'create_open_state'
  2334.   718 |     status = create_open_state(args->path, args->open_owner_id, &state);
  2335.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2336. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:51:9: note: Assuming 'state' is not equal to NULL
  2337.    51 |     if (state == NULL) {
  2338.       |         ^~~~~~~~~~~~~
  2339. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:51:5: note: Taking false branch
  2340.    51 |     if (state == NULL) {
  2341.       |     ^
  2342. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:59:9: note: Assuming 'path_len' is < NFS41_MAX_PATH_LEN
  2343.    59 |     if (path_len >= NFS41_MAX_PATH_LEN) {
  2344.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2345. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:59:5: note: Taking false branch
  2346.    59 |     if (path_len >= NFS41_MAX_PATH_LEN) {
  2347.       |     ^
  2348. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:91:5: note: Returning zero (loaded from 'status'), which participates in a condition later
  2349.    91 |     return status;
  2350.       |     ^~~~~~~~~~~~~
  2351. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:718:14: note: Returning from 'create_open_state'
  2352.   718 |     status = create_open_state(args->path, args->open_owner_id, &state);
  2353.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2354. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:9: note: 'status' is 0
  2355.   719 |     if (status) {
  2356.       |         ^~~~~~
  2357. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:5: note: Taking false branch
  2358.   719 |     if (status) {
  2359.       |     ^
  2360. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:727:9: note: Assuming the condition is false
  2361.   727 |     if (args->create_opts & FILE_DIRECTORY_FILE)
  2362.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2363. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:727:5: note: Taking false branch
  2364.   727 |     if (args->create_opts & FILE_DIRECTORY_FILE)
  2365.       |     ^
  2366. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:733:14: note: Value assigned to 'info.owner'
  2367.   733 |     status = nfs41_lookup(upcall->root_ref, nfs41_root_session(upcall->root_ref),
  2368.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2369.   734 |         &state->path, &state->parent, &state->file, &info, &state->session);
  2370.       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2371. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:736:9: note: Assuming 'status' is not equal to ERROR_REPARSE
  2372.   736 |     if (status == ERROR_REPARSE) {
  2373.       |         ^~~~~~~~~~~~~~~~~~~~~~~
  2374. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:736:5: note: Taking false branch
  2375.   736 |     if (status == ERROR_REPARSE) {
  2376.       |     ^
  2377. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:771:9: note: Assuming 'status' is equal to NO_ERROR
  2378.   771 |     if (status == NO_ERROR) {
  2379.       |         ^~~~~~~~~~~~~~~~~~
  2380. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:771:5: note: Taking true branch
  2381.   771 |     if (status == NO_ERROR) {
  2382.       |     ^
  2383. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:772:13: note: Assuming field 'type' is not equal to NF4DIR
  2384.   772 |         if (info.type == NF4DIR) {
  2385.       |             ^~~~~~~~~~~~~~~~~~~
  2386. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:772:9: note: Taking false branch
  2387.   772 |         if (info.type == NF4DIR) {
  2388.       |         ^
  2389. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:780:20: note: Assuming field 'type' is not equal to NF4REG
  2390.   780 |         } else if (info.type == NF4REG) {
  2391.       |                    ^~~~~~~~~~~~~~~~~~~
  2392. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:780:16: note: Taking false branch
  2393.   780 |         } else if (info.type == NF4REG) {
  2394.       |                ^
  2395. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:788:20: note: Assuming field 'type' is not equal to NF4LNK
  2396.   788 |         } else if (info.type == NF4LNK) {
  2397.       |                    ^~~~~~~~~~~~~~~~~~~
  2398. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:788:16: note: Taking false branch
  2399.   788 |         } else if (info.type == NF4LNK) {
  2400.       |                ^
  2401. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:822:13: note: Assuming 'g_debug_level' is < 2
  2402.   822 |             DPRINTF(2, ("handle_open(): unsupported type=%d\n", info.type));
  2403.       |             ^
  2404. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  2405.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2406.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2407. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  2408.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  2409.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  2410. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:822:13: note: Taking false branch
  2411.   822 |             DPRINTF(2, ("handle_open(): unsupported type=%d\n", info.type));
  2412.       |             ^
  2413. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  2414.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2415.       |         ^
  2416. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:837:9: note: Assuming field 'disposition' is not equal to FILE_CREATE
  2417.   837 |     if (args->disposition == FILE_CREATE &&
  2418.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2419. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:837:42: note: Left side of '&&' is false
  2420.   837 |     if (args->disposition == FILE_CREATE &&
  2421.       |                                          ^
  2422. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:855:16: note: Assuming field 'len' is 0
  2423.   855 |     } else if (args->symlink.len) {
  2424.       |                ^~~~~~~~~~~~~~~~~
  2425. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:855:12: note: Taking false branch
  2426.   855 |     } else if (args->symlink.len) {
  2427.       |            ^
  2428. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:890:12: note: Taking true branch
  2429.   890 |     } else if (open_for_attributes(state->type, args->access_mask,
  2430.       |            ^
  2431. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:892:13: note: 'status' is 0
  2432.   892 |         if (status) {
  2433.       |             ^~~~~~
  2434. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:892:9: note: Taking false branch
  2435.   892 |         if (status) {
  2436.       |         ^
  2437. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:904:9: note: Taking false branch
  2438.   904 |         EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FILEID));
  2439.       |         ^
  2440. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2441.    58 |     if (!(exp)) { \
  2442.       |     ^
  2443. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:906:9: note: Taking false branch
  2444.   906 |         EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FSID));
  2445.       |         ^
  2446. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2447.    58 |     if (!(exp)) { \
  2448.       |     ^
  2449. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:909:9: note: Taking false branch
  2450.   909 |         EASSERT(bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_MODE));
  2451.       |         ^
  2452. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2453.    58 |     if (!(exp)) { \
  2454.       |     ^
  2455. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:911:9: note: Taking false branch
  2456.   911 |         EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  2457.       |         ^
  2458. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2459.    58 |     if (!(exp)) { \
  2460.       |     ^
  2461. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:923:14: note: Assuming the condition is false
  2462.   923 |         if (((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) == 0) ||
  2463.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2464. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:923:13: note: Left side of '||' is false
  2465.   923 |         if (((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) == 0) ||
  2466.       |             ^
  2467. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:924:14: note: Assuming the condition is false
  2468.   924 |             ((info.attrmask.arr[1] & FATTR4_WORD1_OWNER_GROUP) == 0)) {
  2469.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2470. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:923:9: note: Taking false branch
  2471.   923 |         if (((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) == 0) ||
  2472.       |         ^
  2473. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:953:9: note: Taking false branch
  2474.   953 |         EASSERT((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) != 0);
  2475.       |         ^
  2476. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2477.    58 |     if (!(exp)) { \
  2478.       |     ^
  2479. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:954:9: note: Taking false branch
  2480.   954 |         EASSERT((info.attrmask.arr[1] & FATTR4_WORD1_OWNER_GROUP) != 0);
  2481.       |         ^
  2482. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2483.    58 |     if (!(exp)) { \
  2484.       |     ^
  2485. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:955:17: note: Assuming field 'owner' is equal to null
  2486.   955 |         EASSERT(info.owner != NULL);
  2487.       |                 ^
  2488. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2489.    58 |     if (!(exp)) { \
  2490.       |           ^~~
  2491. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:955:9: note: Taking true branch
  2492.   955 |         EASSERT(info.owner != NULL);
  2493.       |         ^
  2494. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2495.    58 |     if (!(exp)) { \
  2496.       |     ^
  2497. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:956:17: note: Assuming field 'owner_group' is not equal to null
  2498.   956 |         EASSERT(info.owner_group != NULL);
  2499.       |                 ^
  2500. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2501.    58 |     if (!(exp)) { \
  2502.       |           ^~~
  2503. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:956:9: note: Taking false branch
  2504.   956 |         EASSERT(info.owner_group != NULL);
  2505.       |         ^
  2506. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2507.    58 |     if (!(exp)) { \
  2508.       |     ^
  2509. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:957:22: note: Field 'owner' is not equal to field 'owner_buf'
  2510.   957 |         EASSERT(info.owner == info.owner_buf);
  2511.       |                      ^
  2512. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:957:9: note: Taking true branch
  2513.   957 |         EASSERT(info.owner == info.owner_buf);
  2514.       |         ^
  2515. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2516.    58 |     if (!(exp)) { \
  2517.       |     ^
  2518. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:958:22: note: Field 'owner_group' is not equal to field 'owner_group_buf'
  2519.   958 |         EASSERT(info.owner_group == info.owner_group_buf);
  2520.       |                      ^
  2521. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:958:9: note: Taking true branch
  2522.   958 |         EASSERT(info.owner_group == info.owner_group_buf);
  2523.       |         ^
  2524. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2525.    58 |     if (!(exp)) { \
  2526.       |     ^
  2527. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:959:17: note: Null pointer passed as 1st argument to string length function
  2528.   959 |         EASSERT(strlen(info.owner) > 0);
  2529.       |                 ^
  2530. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2531.    58 |     if (!(exp)) { \
  2532.       |           ^~~
  2533. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(960,17): warning G319FBF53: Null pointer passed as 1st argument to string length function [clang-analyzer-unix.cstring.NullArg]
  2534.   960 |         EASSERT(strlen(info.owner_group) > 0);
  2535.       |                 ^
  2536. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2537.    58 |     if (!(exp)) { \
  2538.       |           ^~~
  2539. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:17: note: Assuming the condition is false
  2540.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  2541.       |                 ^
  2542. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2543.    65 |     if (!(exp)) { \
  2544.       |           ^~~
  2545. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:698:5: note: Taking true branch
  2546.   698 |     EASSERT_MSG(!(args->create_opts & FILE_COMPLETE_IF_OPLOCKED),
  2547.       |     ^
  2548. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2549.    65 |     if (!(exp)) { \
  2550.       |     ^
  2551. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:17: note: Assuming the condition is false
  2552.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  2553.       |                 ^
  2554. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2555.    65 |     if (!(exp)) { \
  2556.       |           ^~~
  2557. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:701:5: note: Taking true branch
  2558.   701 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_BY_FILE_ID),
  2559.       |     ^
  2560. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2561.    65 |     if (!(exp)) { \
  2562.       |     ^
  2563. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:17: note: Assuming the condition is false
  2564.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  2565.       |                 ^
  2566. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2567.    65 |     if (!(exp)) { \
  2568.       |           ^~~
  2569. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:708:5: note: Taking true branch
  2570.   708 |     EASSERT_MSG(!(args->create_opts & FILE_OPEN_REQUIRING_OPLOCK),
  2571.       |     ^
  2572. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2573.    65 |     if (!(exp)) { \
  2574.       |     ^
  2575. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:17: note: Assuming the condition is false
  2576.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  2577.       |                 ^
  2578. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2579.    65 |     if (!(exp)) { \
  2580.       |           ^~~
  2581. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:711:5: note: Taking true branch
  2582.   711 |     EASSERT_MSG(!(args->create_opts & FILE_DISALLOW_EXCLUSIVE),
  2583.       |     ^
  2584. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2585.    65 |     if (!(exp)) { \
  2586.       |     ^
  2587. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:17: note: Assuming the condition is false
  2588.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  2589.       |                 ^
  2590. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:11: note: expanded from macro 'EASSERT_MSG'
  2591.    65 |     if (!(exp)) { \
  2592.       |           ^~~
  2593. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:714:5: note: Taking true branch
  2594.   714 |     EASSERT_MSG(!(args->create_opts & FILE_RESERVE_OPFILTER),
  2595.       |     ^
  2596. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:65:5: note: expanded from macro 'EASSERT_MSG'
  2597.    65 |     if (!(exp)) { \
  2598.       |     ^
  2599. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:718:14: note: Calling 'create_open_state'
  2600.   718 |     status = create_open_state(args->path, args->open_owner_id, &state);
  2601.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2602. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:51:9: note: Assuming 'state' is not equal to NULL
  2603.    51 |     if (state == NULL) {
  2604.       |         ^~~~~~~~~~~~~
  2605. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:51:5: note: Taking false branch
  2606.    51 |     if (state == NULL) {
  2607.       |     ^
  2608. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:59:9: note: Assuming 'path_len' is < NFS41_MAX_PATH_LEN
  2609.    59 |     if (path_len >= NFS41_MAX_PATH_LEN) {
  2610.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2611. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:59:5: note: Taking false branch
  2612.    59 |     if (path_len >= NFS41_MAX_PATH_LEN) {
  2613.       |     ^
  2614. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:91:5: note: Returning zero (loaded from 'status'), which participates in a condition later
  2615.    91 |     return status;
  2616.       |     ^~~~~~~~~~~~~
  2617. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:718:14: note: Returning from 'create_open_state'
  2618.   718 |     status = create_open_state(args->path, args->open_owner_id, &state);
  2619.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2620. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:9: note: 'status' is 0
  2621.   719 |     if (status) {
  2622.       |         ^~~~~~
  2623. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:719:5: note: Taking false branch
  2624.   719 |     if (status) {
  2625.       |     ^
  2626. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:727:9: note: Assuming the condition is false
  2627.   727 |     if (args->create_opts & FILE_DIRECTORY_FILE)
  2628.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2629. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:727:5: note: Taking false branch
  2630.   727 |     if (args->create_opts & FILE_DIRECTORY_FILE)
  2631.       |     ^
  2632. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:733:14: note: Value assigned to 'info.owner_group'
  2633.   733 |     status = nfs41_lookup(upcall->root_ref, nfs41_root_session(upcall->root_ref),
  2634.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2635.   734 |         &state->path, &state->parent, &state->file, &info, &state->session);
  2636.       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2637. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:736:9: note: Assuming 'status' is not equal to ERROR_REPARSE
  2638.   736 |     if (status == ERROR_REPARSE) {
  2639.       |         ^~~~~~~~~~~~~~~~~~~~~~~
  2640. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:736:5: note: Taking false branch
  2641.   736 |     if (status == ERROR_REPARSE) {
  2642.       |     ^
  2643. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:771:9: note: Assuming 'status' is equal to NO_ERROR
  2644.   771 |     if (status == NO_ERROR) {
  2645.       |         ^~~~~~~~~~~~~~~~~~
  2646. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:771:5: note: Taking true branch
  2647.   771 |     if (status == NO_ERROR) {
  2648.       |     ^
  2649. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:772:13: note: Assuming field 'type' is not equal to NF4DIR
  2650.   772 |         if (info.type == NF4DIR) {
  2651.       |             ^~~~~~~~~~~~~~~~~~~
  2652. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:772:9: note: Taking false branch
  2653.   772 |         if (info.type == NF4DIR) {
  2654.       |         ^
  2655. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:780:20: note: Assuming field 'type' is not equal to NF4REG
  2656.   780 |         } else if (info.type == NF4REG) {
  2657.       |                    ^~~~~~~~~~~~~~~~~~~
  2658. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:780:16: note: Taking false branch
  2659.   780 |         } else if (info.type == NF4REG) {
  2660.       |                ^
  2661. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:788:20: note: Assuming field 'type' is not equal to NF4LNK
  2662.   788 |         } else if (info.type == NF4LNK) {
  2663.       |                    ^~~~~~~~~~~~~~~~~~~
  2664. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:788:16: note: Taking false branch
  2665.   788 |         } else if (info.type == NF4LNK) {
  2666.       |                ^
  2667. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:822:13: note: Assuming 'g_debug_level' is < 2
  2668.   822 |             DPRINTF(2, ("handle_open(): unsupported type=%d\n", info.type));
  2669.       |             ^
  2670. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  2671.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2672.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2673. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  2674.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  2675.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  2676. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:822:13: note: Taking false branch
  2677.   822 |             DPRINTF(2, ("handle_open(): unsupported type=%d\n", info.type));
  2678.       |             ^
  2679. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  2680.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2681.       |         ^
  2682. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:837:9: note: Assuming field 'disposition' is not equal to FILE_CREATE
  2683.   837 |     if (args->disposition == FILE_CREATE &&
  2684.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2685. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:837:42: note: Left side of '&&' is false
  2686.   837 |     if (args->disposition == FILE_CREATE &&
  2687.       |                                          ^
  2688. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:855:16: note: Assuming field 'len' is 0
  2689.   855 |     } else if (args->symlink.len) {
  2690.       |                ^~~~~~~~~~~~~~~~~
  2691. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:855:12: note: Taking false branch
  2692.   855 |     } else if (args->symlink.len) {
  2693.       |            ^
  2694. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:890:12: note: Taking true branch
  2695.   890 |     } else if (open_for_attributes(state->type, args->access_mask,
  2696.       |            ^
  2697. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:892:13: note: 'status' is 0
  2698.   892 |         if (status) {
  2699.       |             ^~~~~~
  2700. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:892:9: note: Taking false branch
  2701.   892 |         if (status) {
  2702.       |         ^
  2703. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:904:9: note: Taking false branch
  2704.   904 |         EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FILEID));
  2705.       |         ^
  2706. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2707.    58 |     if (!(exp)) { \
  2708.       |     ^
  2709. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:906:9: note: Taking false branch
  2710.   906 |         EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FSID));
  2711.       |         ^
  2712. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2713.    58 |     if (!(exp)) { \
  2714.       |     ^
  2715. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:909:9: note: Taking false branch
  2716.   909 |         EASSERT(bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_MODE));
  2717.       |         ^
  2718. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2719.    58 |     if (!(exp)) { \
  2720.       |     ^
  2721. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:911:9: note: Taking false branch
  2722.   911 |         EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  2723.       |         ^
  2724. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2725.    58 |     if (!(exp)) { \
  2726.       |     ^
  2727. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:923:14: note: Assuming the condition is false
  2728.   923 |         if (((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) == 0) ||
  2729.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2730. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:923:13: note: Left side of '||' is false
  2731.   923 |         if (((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) == 0) ||
  2732.       |             ^
  2733. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:924:14: note: Assuming the condition is false
  2734.   924 |             ((info.attrmask.arr[1] & FATTR4_WORD1_OWNER_GROUP) == 0)) {
  2735.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2736. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:923:9: note: Taking false branch
  2737.   923 |         if (((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) == 0) ||
  2738.       |         ^
  2739. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:953:9: note: Taking false branch
  2740.   953 |         EASSERT((info.attrmask.arr[1] & FATTR4_WORD1_OWNER) != 0);
  2741.       |         ^
  2742. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2743.    58 |     if (!(exp)) { \
  2744.       |     ^
  2745. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:954:9: note: Taking false branch
  2746.   954 |         EASSERT((info.attrmask.arr[1] & FATTR4_WORD1_OWNER_GROUP) != 0);
  2747.       |         ^
  2748. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2749.    58 |     if (!(exp)) { \
  2750.       |     ^
  2751. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:955:17: note: Assuming field 'owner' is not equal to null
  2752.   955 |         EASSERT(info.owner != NULL);
  2753.       |                 ^
  2754. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2755.    58 |     if (!(exp)) { \
  2756.       |           ^~~
  2757. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:955:9: note: Taking false branch
  2758.   955 |         EASSERT(info.owner != NULL);
  2759.       |         ^
  2760. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2761.    58 |     if (!(exp)) { \
  2762.       |     ^
  2763. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:956:17: note: Assuming field 'owner_group' is equal to null
  2764.   956 |         EASSERT(info.owner_group != NULL);
  2765.       |                 ^
  2766. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2767.    58 |     if (!(exp)) { \
  2768.       |           ^~~
  2769. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:956:9: note: Taking true branch
  2770.   956 |         EASSERT(info.owner_group != NULL);
  2771.       |         ^
  2772. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2773.    58 |     if (!(exp)) { \
  2774.       |     ^
  2775. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:957:22: note: Field 'owner' is not equal to field 'owner_buf'
  2776.   957 |         EASSERT(info.owner == info.owner_buf);
  2777.       |                      ^
  2778. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:957:9: note: Taking true branch
  2779.   957 |         EASSERT(info.owner == info.owner_buf);
  2780.       |         ^
  2781. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2782.    58 |     if (!(exp)) { \
  2783.       |     ^
  2784. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:958:22: note: Field 'owner_group' is not equal to field 'owner_group_buf'
  2785.   958 |         EASSERT(info.owner_group == info.owner_group_buf);
  2786.       |                      ^
  2787. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:958:9: note: Taking true branch
  2788.   958 |         EASSERT(info.owner_group == info.owner_group_buf);
  2789.       |         ^
  2790. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2791.    58 |     if (!(exp)) { \
  2792.       |     ^
  2793. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:959:17: note: Assuming the condition is true
  2794.   959 |         EASSERT(strlen(info.owner) > 0);
  2795.       |                 ^
  2796. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2797.    58 |     if (!(exp)) { \
  2798.       |           ^~~
  2799. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:959:9: note: Taking false branch
  2800.   959 |         EASSERT(strlen(info.owner) > 0);
  2801.       |         ^
  2802. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:5: note: expanded from macro 'EASSERT'
  2803.    58 |     if (!(exp)) { \
  2804.       |     ^
  2805. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:960:17: note: Null pointer passed as 1st argument to string length function
  2806.   960 |         EASSERT(strlen(info.owner_group) > 0);
  2807.       |                 ^
  2808. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:58:11: note: expanded from macro 'EASSERT'
  2809.    58 |     if (!(exp)) { \
  2810.       |           ^~~
  2811. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(963,15): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  2812.   963 |         (void)strcpy(owner, info.owner);
  2813.       |               ^~~~~~
  2814. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:963:15: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  2815.   963 |         (void)strcpy(owner, info.owner);
  2816.       |               ^~~~~~
  2817. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c(964,15): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  2818.   964 |         (void)strcpy(owner_group, info.owner_group);
  2819.       |               ^~~~~~
  2820. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\open.c:964:15: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  2821.   964 |         (void)strcpy(owner_group, info.owner_group);
  2822.       |               ^~~~~~
  2823. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c(303,12): warning GF04AE71F: taking the absolute value of unsigned type 'unsigned int' has no effect [clang-diagnostic-absolute-value]
  2824.   303 |     sui += abs(stripeid - stripe_index(layout, sui, stripe_count));
  2825.       |            ^
  2826. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:303:12: note: remove the call to 'abs' since unsigned values cannot be negative
  2827.   303 |     sui += abs(stripeid - stripe_index(layout, sui, stripe_count));
  2828.       |            ^~~
  2829. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c(524,23): warning G4E466640: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  2830.   524 |         if (io.length > maxreadsize)
  2831.       |             ~~~~~~~~~ ^
  2832. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:500:5: note: Assuming 'g_debug_level' is < 2
  2833.   500 |     DPRINTF(IOLVL, ("--> file_layout_read_thread(%u)\n", thread->id));
  2834.       |     ^
  2835. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  2836.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2837.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2838. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  2839.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  2840.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  2841. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:500:5: note: Taking false branch
  2842.   500 |     DPRINTF(IOLVL, ("--> file_layout_read_thread(%u)\n", thread->id));
  2843.       |     ^
  2844. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  2845.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2846.       |         ^
  2847. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:503:14: note: Calling 'thread_data_server'
  2848.   503 |     status = thread_data_server(thread, &server);
  2849.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2850. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:362:9: note: Assuming 'serverid' is < field 'count'
  2851.   362 |     if (serverid >= device->servers.count)
  2852.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2853. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:362:5: note: Taking false branch
  2854.   362 |     if (serverid >= device->servers.count)
  2855.       |     ^
  2856. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:366:5: note: Returning zero, which participates in a condition later
  2857.   366 |     return PNFS_SUCCESS;
  2858.       |     ^~~~~~~~~~~~~~~~~~~
  2859. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:503:14: note: Returning from 'thread_data_server'
  2860.   503 |     status = thread_data_server(thread, &server);
  2861.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2862. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:504:9: note: 'status' is 0
  2863.   504 |     if (status) {
  2864.       |         ^~~~~~
  2865. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:504:5: note: Taking false branch
  2866.   504 |     if (status) {
  2867.       |     ^
  2868. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:512:9: note: Assuming 'status' is 0
  2869.   512 |     if (status) {
  2870.       |         ^~~~~~
  2871. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:512:5: note: Taking false branch
  2872.   512 |     if (status) {
  2873.       |     ^
  2874. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:522:12: note: Calling 'thread_next_unit'
  2875.   522 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  2876.       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2877. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:342:9: note: Assuming 'status' is not equal to 0
  2878.   342 |     if (status)
  2879.       |         ^~~~~~
  2880. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:342:5: note: Taking true branch
  2881.   342 |     if (status)
  2882.       |     ^
  2883. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:343:9: note: Control jumps to line 351
  2884.   343 |         goto out_unlock;
  2885.       |         ^
  2886. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:352:5: note: Returning without writing to 'io->length'
  2887.   352 |     return status;
  2888.       |     ^
  2889. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:522:12: note: Returning from 'thread_next_unit'
  2890.   522 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  2891.       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2892. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:522:12: note: Assuming the condition is true
  2893.   522 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  2894.       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2895. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:522:5: note: Loop condition is true.  Entering loop body
  2896.   522 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  2897.       |     ^
  2898. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:524:23: note: The left operand of '>' is a garbage value
  2899.   524 |         if (io.length > maxreadsize)
  2900.       |             ~~~~~~~~~ ^
  2901. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c(562,43): warning G183B9D1E: variable 'total_written' set but not used [clang-diagnostic-unused-but-set-variable]
  2902.   562 |     uint32_t maxwritesize, bytes_written, total_written;
  2903.       |                                           ^
  2904. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c(597,23): warning G4E466640: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  2905.   597 |         if (io.length > maxwritesize)
  2906.       |                       ^
  2907. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:816:5: note: Assuming 'g_debug_level' is < 2
  2908.   816 |     DPRINTF(IOLVL, ("--> pnfs_write(%llu, %llu)\n", offset, length));
  2909.       |     ^
  2910. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  2911.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2912.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2913. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  2914.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  2915.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  2916. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:816:5: note: Taking false branch
  2917.   816 |     DPRINTF(IOLVL, ("--> pnfs_write(%llu, %llu)\n", offset, length));
  2918.       |     ^
  2919. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  2920.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2921.       |         ^
  2922. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:827:14: note: Assuming 'status' is not equal to PNFS_PENDING
  2923.   827 |     } while (status == PNFS_PENDING);
  2924.       |              ^~~~~~~~~~~~~~~~~~~~~~
  2925. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:824:5: note: Loop condition is false.  Exiting loop
  2926.   824 |     do {
  2927.       |     ^
  2928. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:829:9: note: Assuming 'status' is equal to PNFS_SUCCESS
  2929.   829 |     if (status == PNFS_SUCCESS) {
  2930.       |         ^~~~~~~~~~~~~~~~~~~~~~
  2931. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:829:5: note: Taking true branch
  2932.   829 |     if (status == PNFS_SUCCESS) {
  2933.       |     ^
  2934. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:834:13: note: 'status' is 0
  2935.   834 |         if (status)
  2936.       |             ^~~~~~
  2937. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:834:9: note: Taking false branch
  2938.   834 |         if (status)
  2939.       |         ^
  2940. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:841:9: note: 'status' is 0
  2941.   841 |     if (status)
  2942.       |         ^~~~~~
  2943. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:841:5: note: Taking false branch
  2944.   841 |     if (status)
  2945.       |     ^
  2946. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:844:14: note: Calling 'pattern_fork'
  2947.   844 |     status = pattern_fork(&pattern, file_layout_write_thread);
  2948.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2949. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:395:9: note: Assuming field 'count' is not equal to 0
  2950.   395 |     if (pattern->count == 0)
  2951.       |         ^~~~~~~~~~~~~~~~~~~
  2952. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:395:5: note: Taking false branch
  2953.   395 |     if (pattern->count == 0)
  2954.       |     ^
  2955. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:398:9: note: Assuming field 'count' is equal to 1
  2956.   398 |     if (pattern->count == 1) {
  2957.       |         ^~~~~~~~~~~~~~~~~~~
  2958. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:398:5: note: Taking true branch
  2959.   398 |     if (pattern->count == 1) {
  2960.       |     ^
  2961. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:400:36: note: Calling 'file_layout_write_thread'
  2962.   400 |         status = (enum pnfs_status)thread_fn(pattern->threads);
  2963.       |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  2964. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:566:5: note: Assuming 'g_debug_level' is < 2
  2965.   566 |     DPRINTF(IOLVL, ("--> file_layout_write_thread(%u)\n", thread->id));
  2966.       |     ^
  2967. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  2968.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2969.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2970. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  2971.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  2972.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  2973. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:566:5: note: Taking false branch
  2974.   566 |     DPRINTF(IOLVL, ("--> file_layout_write_thread(%u)\n", thread->id));
  2975.       |     ^
  2976. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  2977.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  2978.       |         ^
  2979. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:569:14: note: Calling 'thread_data_server'
  2980.   569 |     status = thread_data_server(thread, &server);
  2981.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2982. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:362:9: note: Assuming 'serverid' is < field 'count'
  2983.   362 |     if (serverid >= device->servers.count)
  2984.       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2985. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:362:5: note: Taking false branch
  2986.   362 |     if (serverid >= device->servers.count)
  2987.       |     ^
  2988. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:366:5: note: Returning zero, which participates in a condition later
  2989.   366 |     return PNFS_SUCCESS;
  2990.       |     ^~~~~~~~~~~~~~~~~~~
  2991. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:569:14: note: Returning from 'thread_data_server'
  2992.   569 |     status = thread_data_server(thread, &server);
  2993.       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2994. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:570:9: note: 'status' is 0
  2995.   570 |     if (status) {
  2996.       |         ^~~~~~
  2997. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:570:5: note: Taking false branch
  2998.   570 |     if (status) {
  2999.       |     ^
  3000. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:578:9: note: Assuming 'status' is 0
  3001.   578 |     if (status) {
  3002.       |         ^~~~~~
  3003. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:578:5: note: Taking false branch
  3004.   578 |     if (status) {
  3005.       |     ^
  3006. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:596:12: note: Calling 'thread_next_unit'
  3007.   596 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  3008.       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3009. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:342:9: note: Assuming 'status' is not equal to 0
  3010.   342 |     if (status)
  3011.       |         ^~~~~~
  3012. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:342:5: note: Taking true branch
  3013.   342 |     if (status)
  3014.       |     ^
  3015. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:343:9: note: Control jumps to line 351
  3016.   343 |         goto out_unlock;
  3017.       |         ^
  3018. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:352:5: note: Returning without writing to 'io->length'
  3019.   352 |     return status;
  3020.       |     ^
  3021. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:596:12: note: Returning from 'thread_next_unit'
  3022.   596 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  3023.       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3024. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:596:12: note: Assuming the condition is true
  3025.   596 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  3026.       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3027. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:596:5: note: Loop condition is true.  Entering loop body
  3028.   596 |     while (thread_next_unit(thread, &io) == PNFS_PENDING) {
  3029.       |     ^
  3030. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_io.c:597:23: note: The left operand of '>' is a garbage value
  3031.   597 |         if (io.length > maxwritesize)
  3032.       |             ~~~~~~~~~ ^
  3033. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\pnfs_layout.c(450,13): warning GB4798908: 108 enumeration values not handled in switch: 'NFS4ERR_PERM', 'NFS4ERR_NOENT', 'NFS4ERR_IO'... [clang-diagnostic-switch]
  3034.   450 |     switch (nfsstat) {
  3035.       |             ^~~~~~~
  3036. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c(679,9): warning G36456E0F: Value stored to 'entry_buf' is never read [clang-analyzer-deadcode.DeadStores]
  3037.   679 |         entry_buf += entry->next_entry_offset;
  3038.       |         ^            ~~~~~~~~~~~~~~~~~~~~~~~~
  3039. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:679:9: note: Value stored to 'entry_buf' is never read
  3040.   679 |         entry_buf += entry->next_entry_offset;
  3041.       |         ^            ~~~~~~~~~~~~~~~~~~~~~~~~
  3042. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c(680,9): warning G36456E0F: Value stored to 'entry_buf_len' is never read [clang-analyzer-deadcode.DeadStores]
  3043.   680 |         entry_buf_len -= entry->next_entry_offset;
  3044.       |         ^                ~~~~~~~~~~~~~~~~~~~~~~~~
  3045. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:680:9: note: Value stored to 'entry_buf_len' is never read
  3046.   680 |         entry_buf_len -= entry->next_entry_offset;
  3047.       |         ^                ~~~~~~~~~~~~~~~~~~~~~~~~
  3048. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c(738,25): warning G1DD5A82D: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
  3049.   738 |     attr_request.arr[0] |= FATTR4_WORD0_RDATTR_ERROR;
  3050.       |     ~~~~~~~~~~~~~~~~~~~ ^
  3051. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:702:34: note: Assuming the condition is false
  3052.   702 |     const uint32_t max_buf_len = max(args->buf_len,
  3053.       |                                  ^
  3054. C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt\stdlib.h:1282:28: note: expanded from macro 'max'
  3055.  1282 |         #define max(a,b) (((a) > (b)) ? (a) : (b))
  3056.       |                            ^~~~~~~~~
  3057. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:702:34: note: '?' condition is false
  3058.   702 |     const uint32_t max_buf_len = max(args->buf_len,
  3059.       |                                  ^
  3060. C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt\stdlib.h:1282:27: note: expanded from macro 'max'
  3061.  1282 |         #define max(a,b) (((a) > (b)) ? (a) : (b))
  3062.       |                           ^
  3063. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:705:5: note: Assuming 'g_debug_level' is < 1
  3064.   705 |     DPRINTF(1, ("--> handle_nfs41_dirquery(filter='%s',initial=%d,restart=%d,single=%d)\n",
  3065.       |     ^
  3066. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  3067.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  3068.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3069. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:39: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  3070.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  3071.       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
  3072. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:705:5: note: Taking false branch
  3073.   705 |     DPRINTF(1, ("--> handle_nfs41_dirquery(filter='%s',initial=%d,restart=%d,single=%d)\n",
  3074.       |     ^
  3075. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  3076.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  3077.       |         ^
  3078. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:710:9: note: Assuming field 'initial' is not equal to 0
  3079.   710 |     if (args->initial || args->restart) {
  3080.       |         ^~~~~~~~~~~~~
  3081. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:710:23: note: Left side of '||' is true
  3082.   710 |     if (args->initial || args->restart) {
  3083.       |                       ^
  3084. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:712:13: note: Assuming field 'cookie' is 0
  3085.   712 |         if (!state->cookie.cookie) {
  3086.       |             ^~~~~~~~~~~~~~~~~~~~~
  3087. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:712:9: note: Taking true branch
  3088.   712 |         if (!state->cookie.cookie) {
  3089.       |         ^
  3090. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:713:13: note: 'g_debug_level' is < 1
  3091.   713 |             DPRINTF(1, ("initializing the 1st readdir cookie\n"));
  3092.       |             ^
  3093. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:13: note: expanded from macro 'DPRINTF'
  3094.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  3095.       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3096. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:111:50: note: expanded from macro 'DPRINTF_LEVEL_ENABLED'
  3097.   111 | #define DPRINTF_LEVEL_ENABLED(level) ((level) <= g_debug_level)
  3098.       |                                                  ^~~~~~~~~~~~~
  3099. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:713:13: note: Taking false branch
  3100.   713 |             DPRINTF(1, ("initializing the 1st readdir cookie\n"));
  3101.       |             ^
  3102. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\daemon_debug.h:114:9: note: expanded from macro 'DPRINTF'
  3103.   114 |         if (DPRINTF_LEVEL_ENABLED(level)) { \
  3104.       |         ^
  3105. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:730:9: note: Assuming 'entry_buf' is not equal to NULL
  3106.   730 |     if (entry_buf == NULL) {
  3107.       |         ^~~~~~~~~~~~~~~~~
  3108. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:730:5: note: Taking false branch
  3109.   730 |     if (entry_buf == NULL) {
  3110.       |     ^
  3111. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:737:5: note: Calling 'nfs41_superblock_getattr_mask'
  3112.   737 |     nfs41_superblock_getattr_mask(state->file.fh.superblock, &attr_request);
  3113.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3114. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41.h:491:5: note: Calling 'bitmap4_cpy'
  3115.   491 |     bitmap4_cpy(attrs, &superblock->default_getattr);
  3116.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3117. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.h:130:17: note: Assuming 'i' is >= field 'count'
  3118.   130 |     for (i = 0; i < src->count; i++) {
  3119.       |                 ^~~~~~~~~~~~~~
  3120. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\util.h:130:5: note: Loop condition is false. Execution continues on line 133
  3121.   130 |     for (i = 0; i < src->count; i++) {
  3122.       |     ^
  3123. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\nfs41.h:491:5: note: Returning from 'bitmap4_cpy'
  3124.   491 |     bitmap4_cpy(attrs, &superblock->default_getattr);
  3125.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3126. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:737:5: note: Returning from 'nfs41_superblock_getattr_mask'
  3127.   737 |     nfs41_superblock_getattr_mask(state->file.fh.superblock, &attr_request);
  3128.       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3129. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\readdir.c:738:25: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage
  3130.   738 |     attr_request.arr[0] |= FATTR4_WORD0_RDATTR_ERROR;
  3131.       |     ~~~~~~~~~~~~~~~~~~~ ^
  3132. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\recovery.c(422,56): warning G23801B57: 'memcpy' call operates on objects of type 'nfs41_delegation_state' (aka 'struct __nfs41_delegation_state') while the size is based on a different type 'nfs41_delegation_state *' (aka 'struct __nfs41_delegation_state *') [clang-diagnostic-sizeof-pointer-memaccess]
  3133.   422 |     memcpy(owner.owner + sizeof(time_t), deleg, sizeof(deleg));
  3134.       |                                          ~~~~~         ^~~~~
  3135. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\recovery.c:422:56: note: did you mean to dereference the argument to 'sizeof' (and multiply it by the number of elements)?
  3136.   422 |     memcpy(owner.owner + sizeof(time_t), deleg, sizeof(deleg));
  3137.       |                                                        ^~~~~
  3138. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\recovery.c(494,50): warning G5FA1BE76: missing field 'args' initializer [clang-diagnostic-missing-field-initializers]
  3139.   494 |         PNFS_IOMODE_ANY, TRUE, { PNFS_RETURN_ALL } };
  3140.       |                                                  ^
  3141. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\recovery.c(641,50): warning G5FA1BE76: missing field 'args' initializer [clang-diagnostic-missing-field-initializers]
  3142.   641 |         PNFS_IOMODE_ANY, TRUE, { PNFS_RETURN_ALL } };
  3143.       |                                                  ^
  3144. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\setattr.c(538,12): warning GAE4932A6: Although the value stored to 'status' is used in the enclosing expression, the value is never actually read from 'status' [clang-analyzer-deadcode.DeadStores]
  3145. Suppressed 1 warnings (1 in non-user code).
  3146. Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
  3147.   538 |     return status = nfs_to_windows_error(status, ERROR_NOT_SUPPORTED);
  3148.       |            ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3149. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\setattr.c:538:12: note: Although the value stored to 'status' is used in the enclosing expression, the value is never actually read from 'status'
  3150.   538 |     return status = nfs_to_windows_error(status, ERROR_NOT_SUPPORTED);
  3151.       |            ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3152. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c(341,11): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  3153.   341 |     (void)strcpy(e->win32name, win32name);
  3154.       |           ^~~~~~
  3155. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c:341:11: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  3156.   341 |     (void)strcpy(e->win32name, win32name);
  3157.       |           ^~~~~~
  3158. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c(343,15): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  3159.   343 |         (void)strcpy(e->aliasname, aliasname);
  3160.       |               ^~~~~~
  3161. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c:343:15: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  3162.   343 |         (void)strcpy(e->aliasname, aliasname);
  3163.       |               ^~~~~~
  3164. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c(407,19): warning G2652FB77: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
  3165.   407 |             (void)strcpy(out_win32name, e->win32name);
  3166.       |                   ^~~~~~
  3167. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c:407:19: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
  3168.   407 |             (void)strcpy(out_win32name, e->win32name);
  3169.       |                   ^~~~~~
  3170. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c(426,29): warning G71A66108: The value '0' provided to the cast expression is not in the valid range of values for '_SID_NAME_USE' [clang-analyzer-optin.core.EnumCastOutOfRange]
  3171.   426 |     SID_NAME_USE sid_type = 0;
  3172.       |                             ^
  3173. C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um\winnt.h:10380:14: note: enum declared here
  3174.  10380 | typedef enum _SID_NAME_USE {
  3175.        |         ~~~~~^~~~~~~~~~~~~~~
  3176.  10381 |     SidTypeUser = 1,
  3177.        |     ~~~~~~~~~~~~~~~~
  3178.  10382 |     SidTypeGroup,
  3179.        |     ~~~~~~~~~~~~~
  3180.  10383 |     SidTypeDomain,
  3181.        |     ~~~~~~~~~~~~~~
  3182.  10384 |     SidTypeAlias,
  3183.        |     ~~~~~~~~~~~~~
  3184.  10385 |     SidTypeWellKnownGroup,
  3185.        |     ~~~~~~~~~~~~~~~~~~~~~~
  3186.  10386 |     SidTypeDeletedAccount,
  3187.        |     ~~~~~~~~~~~~~~~~~~~~~~
  3188.  10387 |     SidTypeInvalid,
  3189.        |     ~~~~~~~~~~~~~~~
  3190.  10388 |     SidTypeUnknown,
  3191.        |     ~~~~~~~~~~~~~~~
  3192.  10389 |     SidTypeComputer,
  3193.        |     ~~~~~~~~~~~~~~~~
  3194.  10390 |     SidTypeLabel,
  3195.        |     ~~~~~~~~~~~~~
  3196.  10391 |     SidTypeLogonSession
  3197.        |     ~~~~~~~~~~~~~~~~~~~
  3198.  10392 | } SID_NAME_USE, *PSID_NAME_USE;
  3199.        | ~
  3200. C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\daemon\sid.c:426:29: note: The value '0' provided to the cast expression is not in the valid range of values for '_SID_NAME_USE'
  3201.   426 |     SID_NAME_USE sid_type = 0;
  3202.       |                             ^
  3203. 2>nfsd.vcxproj -> C:\cygwin64\home\roland.mainz\work\msnfs41client\vs22test12\ms-nfs41-client\build.vc19\x64\Debug\nfsd.exe
  3204. 2>Done building project "nfsd.vcxproj".
  3205. ========== Rebuild All: 2 succeeded, 0 failed, 0 skipped ==========
  3206. ========== Rebuild completed at 11:59 and took 02:33,598 minutes ==========

Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:

To highlight particular lines, prefix each line with {%HIGHLIGHT}




All content is user-submitted.
The administrators of this site (kpaste.net) are not responsible for their content.
Abuse reports should be emailed to us at