Patch from Michael Sisolak <msisolak at yahoo dot com>
FREE_VARIANT(var_result);
+ /* free the string we allocated; invoked object made its own copy */
+ if (V_VT(new_value) == VT_BSTR) {
+ VariantClear(new_value);
+ }
+
efree(new_value);
efree(propname);
FREE_VARIANT(var_result);
}
- efree(new_value); // FREE_VARIANT does a VariantClear() which is not desired here !
+ /* free the string we allocated; invoked object made its own copy */
+ if (V_VT(new_value) == VT_BSTR) {
+ VariantClear(new_value);
+ }
+ efree(new_value);
efree(propname);
}