فهرست منبع

Fix a memory leak in the SetPropValue method for tkDynArray type properties.

Yuri Serebrennikov 2 هفته پیش
والد
کامیت
5d67d92a91
1فایلهای تغییر یافته به همراه6 افزوده شده و 2 حذف شده
  1. 6 2
      packages/rtl-objpas/src/inc/variants.pp

+ 6 - 2
packages/rtl-objpas/src/inc/variants.pp

@@ -4841,8 +4841,12 @@ begin
      tkDynArray:
      tkDynArray:
        begin
        begin
          dynarr:=Nil;
          dynarr:=Nil;
-         DynArrayFromVariant(dynarr, Value, PropInfo^.PropType);
-         SetDynArrayProp(Instance, PropInfo, dynarr);
+         try
+           DynArrayFromVariant(dynarr, Value, PropInfo^.PropType);
+           SetDynArrayProp(Instance, PropInfo, dynarr);
+         finally
+           DynArrayClear(dynarr, PropInfo);
+         end;
        end;
        end;
    else
    else
      raise EPropertyConvertError.CreateFmt('SetPropValue: Invalid Property Type %s',
      raise EPropertyConvertError.CreateFmt('SetPropValue: Invalid Property Type %s',