Ignore:
Timestamp:
May 29, 2008, 12:22:03 PM (17 years ago)
Author:
Paul Smedley
Message:

Update trunk to 3.2.0rc1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/samba/source/passdb/lookup_sid.c

    r133 r136  
    10131013        }
    10141014
    1015         SMB_ASSERT(cache_value.length == sizeof(*psid));
    1016         memcpy(psid, cache_value.data, sizeof(*psid));
     1015        memcpy(psid, cache_value.data, MIN(sizeof(*psid), cache_value.length));
     1016        SMB_ASSERT(cache_value.length >= offsetof(struct dom_sid, id_auth));
     1017        SMB_ASSERT(cache_value.length == ndr_size_dom_sid(psid, 0));
    10171018
    10181019        return true;
     
    10281029
    10291030        if (!memcache_lookup(NULL, SID_UID_CACHE,
    1030                              data_blob_const(psid, sizeof(*psid)),
     1031                             data_blob_const(psid, ndr_size_dom_sid(psid, 0)),
    10311032                             &cache_value)) {
    10321033                return false;
     
    10461047{
    10471048        memcache_add(NULL, SID_UID_CACHE,
    1048                      data_blob_const(psid, sizeof(*psid)),
     1049                     data_blob_const(psid, ndr_size_dom_sid(psid, 0)),
    10491050                     data_blob_const(&uid, sizeof(uid)));
    10501051        memcache_add(NULL, UID_SID_CACHE,
    10511052                     data_blob_const(&uid, sizeof(uid)),
    1052                      data_blob_const(psid, sizeof(*psid)));
     1053                     data_blob_const(psid, ndr_size_dom_sid(psid, 0)));
    10531054}
    10541055
     
    10671068        }
    10681069
    1069         SMB_ASSERT(cache_value.length == sizeof(*psid));
    1070         memcpy(psid, cache_value.data, sizeof(*psid));
     1070        memcpy(psid, cache_value.data, MIN(sizeof(*psid), cache_value.length));
     1071        SMB_ASSERT(cache_value.length >= offsetof(struct dom_sid, id_auth));
     1072        SMB_ASSERT(cache_value.length == ndr_size_dom_sid(psid, 0));
    10711073
    10721074        return true;
     
    10821084
    10831085        if (!memcache_lookup(NULL, SID_UID_CACHE,
    1084                              data_blob_const(psid, sizeof(*psid)),
     1086                             data_blob_const(psid, ndr_size_dom_sid(psid, 0)),
    10851087                             &cache_value)) {
    10861088                return false;
     
    11001102{
    11011103        memcache_add(NULL, SID_GID_CACHE,
    1102                      data_blob_const(psid, sizeof(*psid)),
     1104                     data_blob_const(psid, ndr_size_dom_sid(psid, 0)),
    11031105                     data_blob_const(&gid, sizeof(gid)));
    11041106        memcache_add(NULL, GID_SID_CACHE,
    11051107                     data_blob_const(&gid, sizeof(gid)),
    1106                      data_blob_const(psid, sizeof(*psid)));
     1108                     data_blob_const(psid, ndr_size_dom_sid(psid, 0)));
    11071109}
    11081110
Note: See TracChangeset for help on using the changeset viewer.