Write-past-end in FileMonikerImpl_DecomposePath()

Dan Kegel dank at kegel.com
Thu Nov 19 11:11:17 CST 2009


http://kegel.com/wine/valgrind/logs/2009-11-18-21.51/diff-hlink_hlink.txt
http://kegel.com/wine/valgrind/logs/2009-11-18-21.51/vg-hlink_hlink.txt
shows a new error thanks to the heap tail check.

Looks like a level-of-indirection-during-allocation error,
   1039     strgtable = CoTaskMemAlloc(len*sizeof(WCHAR));
should be
   1039     strgtable = CoTaskMemAlloc(len*sizeof(WCHAR *));

Ulrich, you were in there last, could you have a look?

 Invalid write of size 4
    at  FileMonikerImpl_DecomposePath (filemoniker.c:1056)
    by  FileMonikerImpl_Construct (filemoniker.c:1375)
    by  CreateFileMoniker (filemoniker.c:1443)
    by  FileMoniker_CreateFromDisplayName (filemoniker.c:1484)
    by  MkParseDisplayName (moniker.c:1130)
    by  HlinkCreateFromString (hlink_main.c:124)
    by  test_persist (hlink.c:479)
    by  func_hlink (hlink.c:1122)
    by  run_test (test.h:535)
    by  main (test.h:585)
  Address 0x7f04416c is 4 bytes inside a block of size 6 alloc'd
    at  notify_alloc (heap.c:279)
    by  RtlAllocateHeap (heap.c:1521)
    by  IMalloc_fnAlloc (ifs.c:186)
    by  CoTaskMemAlloc (ifs.c:562)
    by  FileMonikerImpl_DecomposePath (filemoniker.c:1039)
    by  FileMonikerImpl_Construct (filemoniker.c:1375)
    by  CreateFileMoniker (filemoniker.c:1443)
    by  FileMoniker_CreateFromDisplayName (filemoniker.c:1484)
    by  MkParseDisplayName (moniker.c:1130)
    by  HlinkCreateFromString (hlink_main.c:124)
    by  test_persist (hlink.c:479)



More information about the wine-devel mailing list