coar        99/07/20 10:44:21

  Modified:    src/main http_main.c
  Log:
        *SecurityDescriptor() should be returning an error on Win98, but
        sometimes doesn't -- so check the last error if it claims all
        went well, just in case it's fibbing.
  
  Submitted by: Allan Edwards <[EMAIL PROTECTED]>,
                Keith Wannamaker <[EMAIL PROTECTED]>
  Reviewed by:  Ken Coar
  
  Revision  Changes    Path
  1.455     +9 -5      apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.454
  retrieving revision 1.455
  diff -u -r1.454 -r1.455
  --- http_main.c       1999/07/02 15:55:07     1.454
  +++ http_main.c       1999/07/20 17:44:16     1.455
  @@ -5757,16 +5757,20 @@
       PSECURITY_DESCRIPTOR pSD;
       PSECURITY_ATTRIBUTES sa;
   
  -    sa  = (PSECURITY_ATTRIBUTES) LocalAlloc(LPTR, sizeof 
(SECURITY_ATTRIBUTES));
  -    pSD = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR, 
SECURITY_DESCRIPTOR_MIN_LENGTH);
  -    if (pSD == NULL || sa == NULL)
  +    sa  = (PSECURITY_ATTRIBUTES) LocalAlloc(LPTR, 
sizeof(SECURITY_ATTRIBUTES));
  +    pSD = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR,
  +                                         SECURITY_DESCRIPTOR_MIN_LENGTH);
  +    if (pSD == NULL || sa == NULL) {
           return NULL;
  -    if (!InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION)) {
  +    }
  +    if (!InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION)
  +     || GetLastError()) {
           LocalFree( pSD );
           LocalFree( sa );
           return NULL;
       }
  -    if (!SetSecurityDescriptorDacl(pSD, TRUE, (PACL) NULL, FALSE)) {
  +    if (!SetSecurityDescriptorDacl(pSD, TRUE, (PACL) NULL, FALSE)
  +     || GetLastError()) {
           LocalFree( pSD );
           LocalFree( sa );
           return NULL;
  
  
  

Reply via email to