kernel32: Don't set unconditionally SECTION_QUERY flag in OpenFileMapping.
Jacek Caban
jacek at codeweavers.com
Fri Mar 11 08:42:03 CST 2016
On 03/11/16 14:44, Dmitry Timoshkov wrote:
> Thanks, I have only style related comments, and since I'm an author of
> existing tests I'd prefer to keep an original style if possible.
>
> Jacek Caban <jacek at codeweavers.com> wrote:
>
>> --- a/dlls/advapi32/tests/security.c
>> +++ b/dlls/advapi32/tests/security.c
>> @@ -5560,17 +5560,23 @@ static void test_filemap_security(void)
>> char temp_path[MAX_PATH];
>> char file_name[MAX_PATH];
>> DWORD ret, i, access;
>> - HANDLE file, mapping, dup;
>> + HANDLE file, mapping, dup, created_mapping;
>> static const struct
>> {
>> - int generic, mapped;
>> + DWORD generic, mapped;
> Please leave 'int' type, it changes nothing.
>
>> + BOOL open_only;
>> } map[] =
>> {
>> { 0, 0 },
>> { GENERIC_READ, STANDARD_RIGHTS_READ | SECTION_QUERY | SECTION_MAP_READ },
>> { GENERIC_WRITE, STANDARD_RIGHTS_WRITE | SECTION_MAP_WRITE },
>> { GENERIC_EXECUTE, STANDARD_RIGHTS_EXECUTE | SECTION_MAP_EXECUTE },
>> - { GENERIC_ALL, STANDARD_RIGHTS_REQUIRED | SECTION_ALL_ACCESS }
>> + { GENERIC_ALL, STANDARD_RIGHTS_REQUIRED | SECTION_ALL_ACCESS },
>> + { SECTION_MAP_READ | SECTION_MAP_WRITE, SECTION_MAP_READ | SECTION_MAP_WRITE},
>> + { SECTION_MAP_WRITE, SECTION_MAP_WRITE},
>> + { SECTION_MAP_READ | SECTION_QUERY, SECTION_MAP_READ | SECTION_QUERY},
>> + { SECTION_QUERY, SECTION_MAP_READ, TRUE },
>> + { SECTION_QUERY | SECTION_MAP_READ, SECTION_QUERY | SECTION_MAP_READ }
You missed missing space before '}' in your review.
>> };
>> static const struct
>> {
>> @@ -5599,6 +5605,8 @@ static void test_filemap_security(void)
>>
>> for (i = 0; i < sizeof(prot_map)/sizeof(prot_map[0]); i++)
>> {
>> + if (map[i].open_only) continue;
>> +
>> SetLastError(0xdeadbeef);
>> mapping = CreateFileMappingW(file, NULL, prot_map[i].prot, 0, 4096, NULL);
>> if (prot_map[i].mapped)
>> @@ -5645,6 +5653,8 @@ static void test_filemap_security(void)
>>
>> for (i = 0; i < sizeof(map)/sizeof(map[0]); i++)
>> {
>> + if (map[i].open_only) continue;
>> +
>> SetLastError( 0xdeadbeef );
>> ret = DuplicateHandle(GetCurrentProcess(), mapping, GetCurrentProcess(), &dup,
>> map[i].generic, FALSE, 0);
>> @@ -5659,6 +5669,24 @@ static void test_filemap_security(void)
>> CloseHandle(mapping);
>> CloseHandle(file);
>> DeleteFileA(file_name);
>> +
>> + created_mapping = CreateFileMappingA( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 0x1000,
>> + "Wine Test Open Mapping");
>> + ok( created_mapping != NULL, "CreateFileMapping failed with error %u\n", GetLastError() );
>> +
>> + for(i=0; i < sizeof(map)/sizeof(*map); i++)
> Please add spaces around '=' and use sizeof(map[0]) for consistency with existing
> code.
>> + {
>> + if (!map[i].generic) continue;
>> +
>> + mapping = OpenFileMappingA( map[i].generic, FALSE, "Wine Test Open Mapping");
>> + ok( mapping != NULL, "OpenFileMapping failed with error %d\n", GetLastError());
>> + access = get_obj_access( mapping );
>> + ok( access == map[i].mapped, "[%d] unexpected access flags %x, expected %x\n",
>> + i, access, map[i].mapped );
> Please use "%d:" instead of [%d] and %#x instead of %x for consistency
> with existing code.
>
> P.S.
> That's perfectly fine to completely ignore my comments, just wanted to show
> how it looks like for comparison with d3d-like acceptance policy :)
As far as I'm concerned such reviews are waste of both your and my time,
no matter whom they are from and right now it's you who gave me such
review. I don't know what you wanted to show me, I don't recall myself
giving such a review ever. I will send a "fixed" version with hope that
I can finally go back to fixing real problems.
Cheers,
Jacek
More information about the wine-devel
mailing list