hello again list,

i am finishing the chapter of pointers soon.

Something last about them.

In C++ books it is suggested after the usage of a pointer to free it and
then assign value 0.

Do you think this advice could be done to Gambas3 like this for safe
programming?

Close #hMemory
Free(pPointer)
pPointer = 0


-----Example ---------------------------------

' Gambas module file

Public Sub Main()

Dim pPointer As Pointer
Dim hMemory As Stream

pPointer = Alloc(4)

Print pPointer

hMemory = Memory pPointer For Read Write
  
Write #hMemory, CByte(0) As Byte
Write #hMemory, CByte(1) As Byte
Write #hMemory, CByte(0) As Byte
Write #hMemory, CByte(1) As Byte

Close #hMemory
Free(pPointer)
pPointer = 0

Print pPointer
Print Byte@(pPointer)

End
-----Example ---------------------------------

Notice with this implementation the last line
Print Byte@(pPointer)
raises an expected error.
Otherwise we still could use the address of pPointer.


On Wed, 2011-01-12 at 17:31 +0100, tobias wrote:
> hi,
> 
> > Hi,
> > 
> > i study the cases of pointers and i found at this page
> > http://www.yolinux.com/TUTORIALS/C++MemoryCorruptionAndMemoryLeaks.html
> > 
> > cases of program crashes from bad usage of pointers.
> > 
> > i made a test for
> > Attempting to write to memory already freed.
> > 
> > ...
> > 
> > in this example i free the pointer and then try to write to it.
> > The result is that i can write and read normally after Free(pPointer)
> > 
> > Is this ok?
> > 
> 
> i noticed the same thing some time ago with a c program. this hasn't to 
> be a bug in gambas... i think this is just as jussi said:
>  > Seems that Gambas still owns that address, but it is not "protected" 
> anymore
> 
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand 
> malware threats, the impact they can have on your business, and how you 
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Gambas-user mailing list
> Gambas-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user

-- 
Regards,
Demosthenes Koptsis.


------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to