diff options
Diffstat (limited to 'winsup/cygserver/setpwd.cc')
-rw-r--r-- | winsup/cygserver/setpwd.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygserver/setpwd.cc b/winsup/cygserver/setpwd.cc index 70d96cd57..8125fd25a 100644 --- a/winsup/cygserver/setpwd.cc +++ b/winsup/cygserver/setpwd.cc @@ -92,7 +92,9 @@ client_request_setpwd::serve (transport_layer_base *const conn, status = LsaStorePrivateData (lsa, &key, data.Length ? &data : NULL); if (data.Length) memset (data.Buffer, 0, data.Length); - if (NT_SUCCESS (status)) + /* Success or we're trying to remove a password entry which doesn't exist. */ + if (NT_SUCCESS (status) + || (data.Length == 0 && status == STATUS_OBJECT_NAME_NOT_FOUND)) error_code (0); else error_code (LsaNtStatusToWinError (status)); |