소스 검색

* fixed decrementing of refcount of constant ansistrings in setlength()

git-svn-id: trunk@3651 -
Jonas Maebe 19 년 전
부모
커밋
9084587bdc
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      rtl/inc/astrings.inc

+ 2 - 1
rtl/inc/astrings.inc

@@ -399,7 +399,8 @@ begin
             movelen := lens;
           Move(Pointer(S)^,Temp^,movelen);
           { ref count dropped to zero in the mean time? }
-          If declocked(PAnsiRec(Pointer(S)-FirstOff)^.Ref) then
+          If (PAnsiRec(Pointer(S)-FirstOff)^.Ref > 0) and
+             declocked(PAnsiRec(Pointer(S)-FirstOff)^.Ref) then
             freemem(PAnsiRec(Pointer(s)-FirstOff));
           Pointer(S):=Temp;
        end;