array long ÈÉ
Volltext
(2) Lehrstuhl für Connected Mobility Fakultät für Informatik Technische Universität München. Aufgabe 2. Sichere Programmierung und typische Fehler. Erklären Sie wieso jeder der folgenden Programmschnipsel auf keinen Fall verwendet werden sollte. Erläutern Sie die Fehler und wie diese behoben werden können. a)* 1 2. char userinput [256]; gets ( userinput ) ;. gets. fiihrtkeinenullternrinierungde eingabednr.ch und schreibtggf.iibe.ir. das Array Winans. Buffer overflow. b)* 1 2. char userinput [256] = {0}; int ret = scanf (" %256 s " , userinput );. Bumbler gilet 256 Zeichen ein Dourif ist string nicht mehr undermining Listing c)* 1 2. Nur. 255. Zeicheneinlesenodernullbyh selbstsetren priipwressore.rs. # define MUL (x ,y ) x* y int y = MUL (4+1 , 3+6) ;. Aus 2. listing. Zein wird. Malata genia stupide int y. define Nulli y. 4 1. Ix. 3 6. Punta. strict. y. d)* 1. int * p1 , p2 ;. int int pointer. Losing Prof. Dr.-Ing. Jörg Ott ott@in.tum.de. int. pt. Martin Uhl gbs@cm.in.tum.de. p2 2. var.
(3) Lehrstuhl für Connected Mobility Fakultät für Informatik Technische Universität München. e)* 1 2 3 4. int * p = ( int *) malloc ( sizeof ( int )); scanf ( " % d " , p ); free ( p ) ; printf ( " * p is %d " , * p) ;. Problem. use. after free. Nach den free einer Variable dart dies nicht mehrverwendlbwevde.ir da der Speicher benoit anders behest sein bimbe f)* 1 2 3 4 5. NULL. int * list ;. ansonstenzufiilligiuitialisie.pt. if ( list == NULL ){ list = ( int *) malloc ( LIST_SIZE ) ; }. L. sized int. da ein int 4lb gap ist. listing int. list. Prof. Dr.-Ing. Jörg Ott ott@in.tum.de. Intl. Martin Uhl gbs@cm.in.tum.de. malloclllst.SI E. sizeoflint. 3.
(4) Lehrstuhl für Connected Mobility Fakultät für Informatik Technische Universität München. Aufgabe 3. Hexdump. Es sei folgender Hexdump der Speicheradressen 0x00000000-0x000000FF gegeben:. CD Adr 890150 4e2 47 4 0a E 52F B 49 3 0d 5 1a67 9A 8 00 0a ff 00 00 48 44. 0x0000 0x0010 0x0020 0x0030 0x0040 0x0050 0x0060 0x0070 0x0080 0x0090 0x00a0 0x00b0 0x00c0 0x00d0 0x00e0 0x00f0. 00 aa 47 61 66 f1 68 62 41 5d 18 c4 08 49 87. 00 00 42 01 74 20 74 2e 54 76 63 44 00 f6 39. 05 00 53 a8 77 f5 74 6f 78 97 bb 62 00 c6 33. 7. 00 00 00 3f 61 65 70 72 9c be 37 12 00 58 df. 00 a7 88 a7 72 72 3a 67 ec 85 a2 4d 39 00 59. 00 73 00 69 65 73 2f 2f dd de 49 31 05 dd 75. MIT. 02 42 00 00 00 69 73 10 77 62 ae d7 00 e5 9d. i. 82 49 00 00 6d 6f 74 66 9c 69 29 80 00 ec f9. 08 54 4d 00 61 6e 72 17 54 6e e6 b1 b2 ce ce. 06 08 00 38 74 33 69 19 e5 67 17 5f d4 7e 73. T. 00 08 00 74 70 2e 6e 00 a1 6f d4 5b 2d de 9e. 00 08 0f 45 6c 31 67 00 ff 00 28 12 2c af 27. 00 08 61 58 6f 2e 00 20 f1 a4 22 51 db d7 12. 8e 7c 00 74 74 31 74 00 cf 05 45 41 cf bc 04. 3b 08 00 53 6c 2c 6c 49 6c 93 16 20 ef 5e 41. 74 64 0f 6f 69 20 69 44 85 dc 05 8a 8f 3c 80. Bsp Zabel 0 1234561. hiochstw.to Byte. niede.ru. 1. Byte. Little Endian. t. Adr. Big Endian. Adr 4 Wir befinden uns auf einer 32-bit little-endian Architektur, eine Speicheradresse sei somit 32 bit breit. Ein Integer sei 32 bit breit. Das folgende Programm basiert darauf, dass Pointer und Integer gleich breit sind. Seien Sie sich bewusst, dass dies in der Realität nicht unbedingt der Fall ist! Für die Umrechnung von hex zu ascii nehmen Sie man 7 ascii zur Hilfe. a)* Wie viele Hex-Zeichen umfasst eine Speicheradresse im obigen Hexdump?. 1 Het Zeichen e 2 Het Zeichen e. 4 Bit 8 Bit E 1 Byte 8 Hex Zeichen E 32 Bit E 4 Byte b) Nehmen wir an, an der Adresse 0x8c ist ein Pointer gespeichert. Wie lautet die Adresse, auf die der Pointer zeigt? Beachten Sie die endianness der Architektur!. An Ox 8C stent. also. 0 20004944. In Little Endian. 0 44490020. c) Bestimmen Sie die Ausgaben des folgenden Programms, ausgeführt im Kontext des obigen Speicherausschnitts: 1 2 3 4 5 6 7 8. An 0 30 debt 47425300 In ASCII also GBS tu 0 10 stent 0800 00 00 also 0 8 in LE printf ( " Some string : % s" , x) ; printf ( " Some other string : % s" , xBS +0 x46 ); 0 10 0 46 0 76 tu 0 76 stent int a = i [1]; i il 0 10 in 0 14 0 539 737472696E6700 int b = *( int *) *i ; 11337 s t r i n g char * x = ( char *) 0 x30 ; int * i = ( int *) 0 xd0 ;. Prof. Dr.-Ing. Jörg Ott ott@in.tum.de. i. s wertanoxdops.IE some other string string 0 8 Martin Uhl gbs@cm.in.tum.de. twng. 4.
(5) Lehrstuhl für Connected Mobility Fakultät für Informatik Technische Universität München. 9. printf ( "a : %d , b : %d " , a , b) ;. Prof. Dr.-Ing. Jörg Ott ott@in.tum.de. Martin Uhl gbs@cm.in.tum.de. 5.
(6)
ÄHNLICHE DOKUMENTE
Seiko Epson does not assume any liability of any kind arising out of any inaccuracies contained in this material or due to its application or use in any product or circuit and,
Besprechung Blatt 13 Graphalgorithmen Bin¨ arb¨ aume in einem Array Vorbereitung Fragen.. Fragen zu
By default, the Hawk supplies term power on all ports. At least one device on any nSSI or SCSI interconnect must supply term power to the terminators. There is no harm in
This means that the transfer function matrix has a triangular form and hence, that the RGA matrix is identical to the identity matrix: this means that we can reach good control with
– Ist ein tatsächlich vorhandenes Objekt (So wie es mehrere Variablen gleichen Typs geben kann, kann es auch mehrere Instanzen der gleichen Klasse geben.).
Ziel: Finde einen Algorithmus, welcher im schlechtesten Fall nur linear viele Schritte benötigt. Algorithmus Select ( k -smallest)
Jeder Algorithmus zur Suche in sortierten Daten der Länge n benötigt im schlechtesten Fall Ω(log n) Vergleichsschritte.... Untere Schranke f ¨ur Suchen in
Jeder Algorithmus zur Suche in sortierten Daten der Länge n benötigt im schlechtesten Fall Ω(log n) Vergleichsschritte... Untere Schranke f ¨ur Suchen in