]> sourceware.org Git - newlib-cygwin.git/commitdiff
* setpwd.cc (client_request_setpwd::serve): Don't treat removing
authorCorinna Vinschen <corinna@vinschen.de>
Mon, 15 Dec 2008 18:05:50 +0000 (18:05 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Mon, 15 Dec 2008 18:05:50 +0000 (18:05 +0000)
non-existant private data as error.

winsup/cygserver/ChangeLog
winsup/cygserver/setpwd.cc

index 04054741ba946efe1d64a1920b5d6d854a873812..3f8566fd5af6fa137c10e7bb41c9f24f1d06e43a 100644 (file)
@@ -1,3 +1,8 @@
+2008-12-15  Corinna Vinschen  <corinna@vinschen.de>
+
+       * setpwd.cc (client_request_setpwd::serve): Don't treat removing
+       non-existant private data as error.
+
 2008-12-15  Corinna Vinschen  <corinna@vinschen.de>
 
        * setpwd.cc (client_request_setpwd::serve): Explicitely erase password
index 70d96cd57b3ab1b5f7ef1012a888409099518510..8125fd25a00d4b23e9e11d6e81574cdef1ce786b 100644 (file)
@@ -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));
This page took 0.033471 seconds and 5 git commands to generate.