Commit graph

1742 commits

Author SHA1 Message Date
Rob Shearman
510ed24f9a ole32: Cope with double quotes in paths for libraries to be loaded from the registry. 2009-11-30 12:48:05 +01:00
Rob Shearman
2226b678e3 ole32: Fix the length of data written and read for VT_CF types in property storage code. 2009-11-29 16:40:26 +01:00
Rob Shearman
add909a021 ole32: Release the storage object in DataCache_Destroy. 2009-11-29 16:40:12 +01:00
Rob Shearman
db33e8fdd9 ole32: Fix off-by-one error in FileMonikerImpl_DecomposePath.
strgtable needs to be an array of the same size as str, including the
nul-terminator.
2009-11-29 16:39:45 +01:00
Rob Shearman
6592c25bc7 ole32: Fix circular reference count in default handler objects.
This is caused by caching a pointer and reference to the data cache's
IPersistStorage interface without managing reference counts
appropriately.
2009-11-24 15:54:56 +01:00
Rob Shearman
4b1d527b15 ole32: Fix a typo in PropertyStorage_WritePropertyToStream that caused the wrong data to be written to the stream.
The field pClipData is a pointer to the data to be written, not the start of it.
2009-11-24 15:54:41 +01:00
Vincent Povirk
9da3365e84 ole32: Allocate the StorageImpl in StorageImpl_Construct.
This makes cleanup after errors much easier, as we can just use the regular
destructor.
2009-11-24 10:55:59 +01:00
Vincent Povirk
6c3961f0c4 ole32: Copy the storage filename at stat time, not read time. 2009-11-24 10:55:45 +01:00
Rob Shearman
9943facb26 ole32: Fix error code returned by CoGetClassObject/CoCreateInstance in CLSCTX_REMOTE_SERVER case. 2009-11-24 10:52:07 +01:00
Rob Shearman
8554ce5b18 ole32: Add tests for errors returned by CoCreateInstance for classes that are not registered. 2009-11-24 10:52:02 +01:00
Marcus Meissner
000e1e0ce0 ole32: Some missing error checking in FileMonikerImpl_CommonPrefixWith (Coverity). 2009-11-24 10:51:42 +01:00
Rob Shearman
24cccbf4d1 ole32: Add inproc handler object creation support for CoCreateInstance. 2009-11-24 10:46:12 +01:00
Rob Shearman
a7b621bd9b ole32: Fix behaviour of CoLockObjectExternal with fLastUnlockReleases as FALSE.
The parameter controls whether weak references are ignored, not
whether the last stub_manager_int_release should be called when the
total reference count goes to zero.
2009-11-24 10:46:06 +01:00
Rob Shearman
bcf0be6a99 ole32: Add test for CoLockObjectExternal with fLastUnlockReleases as FALSE. 2009-11-24 10:46:00 +01:00
Rob Shearman
d963e97f32 ole32: Objects registered as local servers don't need to support IClassFactory. 2009-11-20 16:38:56 +01:00
Rob Shearman
377159c4a7 ole32: Fix size of memory allocation in FileMonikerImpl_DecomposePath. 2009-11-20 16:38:46 +01:00
Rob Shearman
d1db29e801 ole32: Fix buffer overrun in CLIPFORMAT_UserMarshal.
The string in format is nul-terminated so use memcpy to copy it into
the buffer and don't try to nul-terminate it manually which causes a
write outside of the allocated buffer length.

Fix a similar off-by-one error in CLIPFORMAT_UserUnmarshal too. This
time it is only reading from beyond the buffer.
2009-11-20 16:38:39 +01:00
Vincent Povirk
669af158da ole32: Invalidate open storage objects that are deleted. 2009-11-20 11:15:53 +01:00
Vincent Povirk
8569d547b9 ole32: Forbid renaming an open storage. 2009-11-20 11:15:44 +01:00
Vincent Povirk
c62a4ad841 ole32: Forbid opening the same storage twice. 2009-11-20 11:15:35 +01:00
Vincent Povirk
d3c0a3a829 ole32: Invalidate open storage objects that outlive their parent. 2009-11-20 11:15:27 +01:00
Vincent Povirk
3cd2a80eda ole32: Add test for freeing the parent of a storage. 2009-11-20 11:15:21 +01:00
Vincent Povirk
52100e9620 ole32: Do not allow renaming streams that are open. 2009-11-19 11:46:57 +01:00
Vincent Povirk
371f6a4818 ole32: Do not allow the same stream to be opened twice. 2009-11-19 11:46:49 +01:00
Vincent Povirk
53128d522b ole32: Use safe list iteration when searching for streams to invalidate. 2009-11-19 11:46:41 +01:00
Vincent Povirk
9d0c4c971d ole32: Always invalidate stream objects when deleting the stream. 2009-11-19 11:46:32 +01:00
Vincent Povirk
a2c405fa15 ole32: Add a test for freeing the parent of an open stream. 2009-11-19 11:46:18 +01:00
Vincent Povirk
55604eb36c ole32: Invalidate child streams when a non-top-level storage is freed. 2009-11-19 11:46:07 +01:00
Vincent Povirk
e77e9e45aa ole32: Add a DirRef type for references to directory entries. 2009-11-18 11:03:58 +01:00
Vincent Povirk
d3dbc8b1e6 ole32: Rename property variables in storage stream implementation. 2009-11-18 11:03:30 +01:00
Rob Shearman
932544d34c ole32: OleInitialize should return S_OK if it is called for the first time on a thread independently of CoInitializeEx. 2009-11-17 15:14:53 +01:00
Vincent Povirk
aca5cc52e1 ole32: Rename property variables in SmallBlockChainStream methods. 2009-11-17 12:04:41 +01:00
Vincent Povirk
8f2d0f8887 ole32: Rename property variables in BlockChainStream methods. 2009-11-17 12:04:34 +01:00
Vincent Povirk
3aa8cdec7b ole32: Rename property variables in StorageInternalImpl_Construct. 2009-11-17 12:04:27 +01:00
Vincent Povirk
f8ca09c0b8 ole32: Rename property variables in IEnumSTATSTGImpl methods. 2009-11-17 12:04:21 +01:00
Vincent Povirk
54781b657f ole32: Rename property variables in block chain conversion functions. 2009-11-17 12:04:14 +01:00
Vincent Povirk
d21d690ac5 ole32: Rename property variables in internal StorageImpl methods. 2009-11-17 12:04:07 +01:00
Vincent Povirk
26acdb3efd ole32: Rename property variables in StorageImpl_Construct. 2009-11-17 12:04:00 +01:00
Vincent Povirk
f1861166bb ole32: Rename property variables in internal storage functions. 2009-11-17 12:03:52 +01:00
Vincent Povirk
b984e46b86 ole32: Rename property variables in the StorageBaseImpl methods. 2009-11-17 12:03:42 +01:00
Vincent Povirk
de3ed0bb50 ole32: Rename firstPropertyNode to storageDirEntry. 2009-11-17 12:03:32 +01:00
Vincent Povirk
42e8dfa2cb ole32: Rename propertyNameCmp to entryNameCmp. 2009-11-16 11:33:54 +01:00
Vincent Povirk
a9ad3fed29 ole32: Rename property variables in insertIntoTree. 2009-11-16 11:33:47 +01:00
Vincent Povirk
14647d7ca9 ole32: Rename deleteSt*Property to deleteSt*Contents.
We now only delete the node contents in these functions.
2009-11-16 11:33:41 +01:00
Vincent Povirk
390e2711f6 ole32: Rename rootPropertyName to rootEntryName. 2009-11-16 11:33:30 +01:00
Vincent Povirk
93db14e79a ole32: Rename SmallBlockChainStream.ownerPropertyIndex to ownerDirEntry. 2009-11-16 11:33:22 +01:00
Vincent Povirk
848caa5168 ole32: Rename BlockChainStream.ownerPropertyIndex to ownerDirEntry. 2009-11-16 11:33:15 +01:00
Vincent Povirk
df960e27c4 ole32: Rename stream.ownerProperty to dirEntry. 2009-11-16 11:33:06 +01:00
Vincent Povirk
4ba13cb9a7 ole32: Rename rootPropertySetIndex to storageDirEntry.
Not only is it not related to property set storages, it's also not the root
of the tree that's used to search for elements.
2009-11-16 11:32:58 +01:00
Vincent Povirk
cf1242e03b ole32: Rename propertyUniqueID to clsid. 2009-11-16 11:32:47 +01:00