Page 1 of 1

[Done] PureBasic 6.40 alpha 1 - memory leak

Posted: Fri Jan 23, 2026 4:27 pm
by User_Russian
When calling a WinAPI function, with a string concatenation, which causes a memory leak.

Code: Select all

Procedure Test(Num)
  For i=0 To 10000000
    CreateSemaphore_(#Null, 0, 1, "Semaphore"+Num)
  Next
EndProcedure

Test(0)
MessageRequester("","")

Code: Select all

// Procedure Test(Num)
static integer f_test(integer v_num) {
integer r=0;
void *s1;
integer v_i=0;
// For i=0 To 10000000
v_i=0;
while(1) {
if (!(((integer)10000000LL>=v_i))) { break; }
// CreateSemaphore_(#Null, 0, 1, "Semaphore"+Num)
void *r0=PB_Str(v_num);
s1=SYS_ConcatString(r0,&_S2[4]);
integer r1=f_createsemaphore_(0LL,0LL,1LL,s1);
// Next
next1:
v_i+=1;
}
il_next2:;
// EndProcedure
r=0;
end:
return r;
}
Probably a memory leak due to the pointer s1is not freed.

Re: PureBasic 6.40 alpha 1 - memory leak

Posted: Fri Jan 23, 2026 5:21 pm
by Fred
True, something is missing here ! Will take a closer look.

Re: PureBasic 6.40 alpha 1 - memory leak

Posted: Mon Jan 26, 2026 5:20 pm
by Fred
Fixed.