The wrong version of this patch was pushed.
The argument to simpleclass_IClassFactory_CreateInstance must be ...**ppv and the value assignment must be  *ppv = (...)ret;
This was discussed on the list and the corrected patch was created.

On 2/24/2018 9:51 AM, Andrew Bartlett wrote:
-static WERROR simpleclass_IClassFactory_CreateInstance (struct IClassFactory 
*d, TALLOC_CTX *mem_ctx, struct IUnknown *iunk, struct GUID *iid, struct 
IUnknown **ppv)
+static WERROR simpleclass_IClassFactory_CreateInstance(struct IClassFactory *d,
+                                                      TALLOC_CTX *mem_ctx,
+                                                      struct MInterfacePointer 
*pUnknown,
+                                                      struct GUID *iid,
+                                                      struct MInterfacePointer 
*ppv)
  {
        struct IStream *ret;
        /* FIXME: Check whether IID == ISTREAM_IID */
@@ -71,8 +84,8 @@ static WERROR simpleclass_IClassFactory_CreateInstance 
(struct IClassFactory *d,
        ret->vtable = &simple_IStream_vtable;
        ret->object_data = NULL;
- *ppv = (struct IUnknown *)ret;
-       
+       ppv = (struct MInterfacePointer *)ret;
+
        return WERR_OK;
  }


Reply via email to