wu.ftpd vulnerability - otazka

Dalibor Toman dtoman na fortech.cz
Čtvrtek Únor 11 09:30:59 CET 1999



>Mozna by bylo na miste rozlistit Pascal, Turbo Pascal a Delphi. Pascal
>jako takovy je skoro nepouzitelny (zajemci o detaily necht si prohlednou
>zdrojaky TeXu, jake kejkle musi Knuth vyvadet, aby mohl pracovat s texty).
>Turbo Pascal je jen o delta lepsi (pokud nejsou vsechny stringy
>dimenzovane na max. velikost, pak se tam buffer overrun vyrobi bez
>potizi taky). Delphi je sice fajn, ale rezie udrzby tech dynamicky
>alokovanych stringu muze byt docela netrivialni a rozhodne ne vhodna
>pro jazyk, jez je urcen pro nizkourovnove zalezitosti.


jestli Ti prijde cteni textove radky dat ze socketu do char promenne jako
nizkourovnova zalezitost, pak nevim co si mam myslet :-)

Je jedno (z hlediska rezie) jestli buffer alokuje/dealokuje uzivatel nebo
kompilatorem
generovany kod. Bavime se prece o praci s retezci, neni jednodussi,
rychlejsi a mene nachylne k chybam, kdyz muzu napsat

 stringvar := 'sad asd asdas d asdasd'

a vedet, ze se mi alokuje buffer primerene velikosti, nikde nic nepretece
ani kdyz k promene pridam dalsi text atd atd

Podle me by bylo mozne napsat a pouzivat knihovni funkce do Ccka, ktere
budou delat neco podobneho. Pravda Delphi ma pro toto podporu primo v
kompilatoru, ktery napr lokalni string promenne ve funkcich pred ukoncenim
funkce automaticky dealokuje, coz by mohl byt v C problem.

Podotykam, ze Delphi reseni dlouhych stringu zachovava kompatibilitu s
null-term retezci (vzdy se za posledni znak uklada nula), takze je bez
problemu mozne na takovy string pouzit oblibenou null-term funkci (ovsem
treba s rizikem preteceni buffer :-( )

Navic nektere operace (napr zjisteni delky stringa, ...) probihaji u Delphi
stringu podstatne rychleji - zvlaste u delsich retezcu


Ja bych treba v D rad videl nektere veci z Ccka (napr makro preprocesor) tak
proc by nemohl nekdo v C postradat rysy z jineho jazyka ?


P.S. at  se nebavime jen o Delphi - existuje projekt FreePascal, ktery
vychazi z borlandi definice turbo pascalu a prebira i rysy z Delphi.
FreePascal existuje ve verzich pro spoustu platforem, samozrejme vcetne
Linuxu.


Zdravi
D. Toman





Další informace o konferenci Linux