Bound checking in c/c++
Giorgos Keramidas
keramida at ceid.upatras.gr
Thu Jun 17 22:29:49 EEST 2004
On 2004-06-17 10:11, Christos Ricudis <ricudis at itc.auth.gr> wrote:
> Skepsou aplws oti ayto poy egrapses einai h APLH periptwsh. Bound
> overflow mporei na sou prokypsei se poly pio periplegmenes
> katastaseis. O monos tropos na to kanei o compiler 8a htan na kanei
> extend kapoio internal pointer housekeeping structure (nai, apo to
> myalo mou ta bgazw, den exw dei pote moy ton kwdika tou gcc) me bounds
> information kai na bazei bounds checking code gyrw apo ta allocations
> kai ta dereferences, kai pali den eimai apolytws sigouros oti 8a
> kataferne na ta piasei ola.
>
> Twra blepw oti to bp project prospa8ei na kanei akribws
> ayto. Endiaferon. 8a 8ela na ksera se poies periptwseis psofaei :P
Αν κατάλαβα καλά, το BP προσθέτει σε κάθε pointer δυο άλλα "pointers"
που ορίζουν τα όριά του και σε κάθε dereference του πρώτου ελέγχει αν
αυτό είναι μέσα στα "επιτρεπτά όρια". Υπάρχει τρόπος να γίνουν
overwrite είτε τα δεδομένα, είτε ο ίδιος ο ελεγχόμενος pointer, χωρίς να
το πάρει χαμπάρι ο GCC (επειδή έγινε από bug που εμφανίζεται μόνο σε
runtime χρόνο, όπως π.χ. ένα stack under/over-flow);
Νομίζω πως ναι :)
Θα πρέπει να το σκεφτώ λίγο παραπάνω, αφού διαβάσω *ακριβώς* τι κάνει το
BP όμως.
More information about the Linux-greek-users
mailing list