浏览代码

* Free hidden cmdline instead of cmdline property.

git-svn-id: trunk@4968 -
daniel 19 年之前
父节点
当前提交
de001ec4ad
共有 2 个文件被更改,包括 7 次插入3 次删除
  1. 5 1
      rtl/inc/system.inc
  2. 2 2
      rtl/linux/system.pp

+ 5 - 1
rtl/inc/system.inc

@@ -708,7 +708,11 @@ Begin
     sysfreemem(argv[i]);
     sysfreemem(argv[i]);
   sysfreemem(argv);
   sysfreemem(argv);
 {$endif}
 {$endif}
-{$if defined(LINUX) or defined(BSD)}
+{$ifdef LINUX}
+  {sysfreemem already checks for nil}
+  sysfreemem(calculated_cmdline);
+{$endif}
+{$ifdef BSD}
   sysfreemem(cmdline);
   sysfreemem(cmdline);
 {$endif}
 {$endif}
 {$if not (defined(HAS_MEMORYMANAGER) or defined(HAS_MT_MEMORYMANAGER))}
 {$if not (defined(HAS_MEMORYMANAGER) or defined(HAS_MT_MEMORYMANAGER))}

+ 2 - 2
rtl/linux/system.pp

@@ -52,10 +52,10 @@ property cmdline:Pchar read get_cmdline;
 {$i elfres32.inc}
 {$i elfres32.inc}
 {$endif}
 {$endif}
 
 
-{$I system.inc}
-
 const calculated_cmdline:Pchar=nil;
 const calculated_cmdline:Pchar=nil;
 
 
+{$I system.inc}
+
 {*****************************************************************************
 {*****************************************************************************
                        Misc. System Dependent Functions
                        Misc. System Dependent Functions
 *****************************************************************************}
 *****************************************************************************}