Changeset 253 for trunk/lib/winsec.c
- Timestamp:
- 06/12/11 22:27:42 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/winsec.c
r169 r253 226 226 ret_val->size = SVAL(buf, 0x2); 227 227 ret_val->access_mask = IVAL(buf, 0x4); 228 228 ret_val->obj_guid = NULL; 229 ret_val->inh_guid = NULL; 230 229 231 offset = 0x8; 230 232 … … 246 248 offset += sizeof(WINSEC_UUID); 247 249 } 248 else249 ret_val->obj_guid = NULL;250 250 251 251 if(ret_val->obj_flags & WINSEC_ACE_OBJECT_INHERITED_PRESENT) … … 260 260 offset += sizeof(WINSEC_UUID); 261 261 } 262 else263 ret_val->inh_guid = NULL;264 262 } 265 263 … … 410 408 411 409 /****************************************************************************** 410 ******************************************************************************/ 411 char* winsec_sid2str(const WINSEC_DOM_SID* sid) 412 { 413 uint32_t i, size = WINSEC_MAX_SUBAUTHS*11 + 24; 414 uint32_t left = size; 415 uint8_t comps = sid->num_auths; 416 char* ret_val = malloc(size); 417 418 if(ret_val == NULL) 419 return NULL; 420 421 if(comps > WINSEC_MAX_SUBAUTHS) 422 comps = WINSEC_MAX_SUBAUTHS; 423 424 left -= sprintf(ret_val, "S-%u-%u", sid->sid_rev_num, sid->id_auth[5]); 425 426 for (i = 0; i < comps; i++) 427 left -= snprintf(ret_val+(size-left), left, "-%u", sid->sub_auths[i]); 428 429 return ret_val; 430 } 431 432 433 /****************************************************************************** 412 434 * Compares two WINSEC_DESC structures. 413 435 ******************************************************************************/
Note: See TracChangeset
for help on using the changeset viewer.