as i saw in C++ Free returns the allocated memory back to free memory.
That's all.

Free() do not do anything with the variable pPointer.
That's why pointers keep their addresses and leads to misusage at next
lines of code.

Although i find it good idea. 

On Fri, 2011-01-14 at 19:35 +0200, Jussi Lahtinen wrote:
> I'm not sure how much this has significance in Basic, but it is good habit.
> And maybe it should be done internally in Free()..?
> 
> Jussi
> 
> 
> 
> On Fri, Jan 14, 2011 at 13:42, Demosthenes Koptsis
> <demosthen...@gmail.com>wrote:
> 
> > 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
> >
> ------------------------------------------------------------------------------
> 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