You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
5.6 KiB
Plaintext
129 lines
5.6 KiB
Plaintext
Read standard Ifd from data buffer
|
|
IFD Offset: 0x00000001, IFD Entries: 4
|
|
Entry Tag Format (Bytes each) Number Offset
|
|
----- ------ --------------------- ------ -----------
|
|
0 0x0001 Ascii (1) 4 54 68 65 00
|
|
1 0x0002 Ascii (1) 6 0x00000036
|
|
2 0x0003 Ascii (1) 7 0x0000003c
|
|
3 0x0004 Ascii (1) 9 0x00000043
|
|
Next IFD: 0x00000000
|
|
Data of entry 1:
|
|
0037 4b 75 61 6c 61 00 Kuala.
|
|
Data of entry 2:
|
|
003d 4c 75 6d 70 75 72 00 Lumpur.
|
|
Data of entry 3:
|
|
0044 4d 61 6c 61 79 73 69 61 00 Malaysia.
|
|
Setting value of entry 3...
|
|
Wrote 76 characters to data buffer
|
|
IFD Offset: 0x00000001, IFD Entries: 4
|
|
Entry Tag Format (Bytes each) Number Offset
|
|
----- ------ --------------------- ------ -----------
|
|
0 0x0001 Ascii (1) 4 54 68 65 00
|
|
1 0x0002 Ascii (1) 6 0x00000036
|
|
2 0x0003 Ascii (1) 7 0x0000003c
|
|
3 0x0004 Ascii (1) 6 0x00000043
|
|
Next IFD: 0x00000000
|
|
Data of entry 1:
|
|
0037 4b 75 61 6c 61 00 Kuala.
|
|
Data of entry 2:
|
|
003d 4c 75 6d 70 75 72 00 Lumpur.
|
|
Data of entry 3:
|
|
0044 54 48 52 45 45 00 THREE.
|
|
|
|
Read non-standard Ifd from data buffer
|
|
IFD Offset: 0x00000016, IFD Entries: 4
|
|
Entry Tag Format (Bytes each) Number Offset
|
|
----- ------ --------------------- ------ -----------
|
|
0 0x0001 Ascii (1) 4 54 68 65 00
|
|
1 0x0002 Ascii (1) 6 0xffffffea
|
|
2 0x0003 Ascii (1) 7 0xfffffff0
|
|
3 0x0004 Ascii (1) 9 0xfffffff7
|
|
Next IFD: 0x00000000
|
|
Data of entry 1:
|
|
0000 4b 75 61 6c 61 00 Kuala.
|
|
Data of entry 2:
|
|
0006 4c 75 6d 70 75 72 00 Lumpur.
|
|
Data of entry 3:
|
|
000d 4d 61 6c 61 79 73 69 61 00 Malaysia.
|
|
Setting value of entry 3...
|
|
IFD Offset: 0x00000016, IFD Entries: 4
|
|
Entry Tag Format (Bytes each) Number Offset
|
|
----- ------ --------------------- ------ -----------
|
|
0 0x0001 Ascii (1) 4 54 68 65 00
|
|
1 0x0002 Ascii (1) 6 0xffffffea
|
|
2 0x0003 Ascii (1) 7 0xfffffff0
|
|
3 0x0004 Ascii (1) 6 0xfffffff7
|
|
Next IFD: 0x00000000
|
|
Data of entry 1:
|
|
0000 4b 75 61 6c 61 00 Kuala.
|
|
Data of entry 2:
|
|
0006 4c 75 6d 70 75 72 00 Lumpur.
|
|
Data of entry 3:
|
|
000d 54 48 52 45 45 00 00 00 00 THREE....
|
|
|
|
Test boundary checks, the following reads should generate warnings or errors
|
|
--- read (3)
|
|
Warning: Upper boundary of data for IFD0 entry 3 is out of bounds:
|
|
Offset = 0x00000043, size = 9, exceeds buffer size by 1 Bytes; Truncating the data.
|
|
--- read (4)
|
|
Error: Upper boundary of the 1st data entry of IFD0 is out of bounds:
|
|
Offset = 0x00000036, exceeds buffer size by 1 Bytes
|
|
Ifd::read (4) failed, rc = 6
|
|
--- read (5)
|
|
Warning: Upper boundary of data for IFD0 entry 2 is out of bounds:
|
|
Offset = 0x0000003c, size = 7, exceeds buffer size by 7 Bytes; Truncating the data.
|
|
Warning: Upper boundary of data for IFD0 entry 3 is out of bounds:
|
|
Offset = 0x00000043, size = 9, exceeds buffer size by 16 Bytes; Truncating the data.
|
|
--- read (6)
|
|
Error: IFD0 memory of the pointer to the next IFD lies outside of the IFD memory buffer.
|
|
Ifd::read (6) failed, rc = 6
|
|
--- read (7)
|
|
Error: IFD0 memory of the pointer to the next IFD lies outside of the IFD memory buffer.
|
|
Ifd::read (7) failed, rc = 6
|
|
|
|
Create Ifd from scratch
|
|
IFD Offset: 0x00000000, IFD Entries: 4
|
|
Entry Tag Format (Bytes each) Number Offset
|
|
----- ------ --------------------- ------ -----------
|
|
0 0x0001 Ascii (1) 4 54 68 65 00
|
|
1 0x0002 Ascii (1) 6 0x00000036
|
|
2 0x0003 Ascii (1) 7 0x0000003c
|
|
3 0x0004 Ascii (1) 9 0x00000043
|
|
Next IFD: 0x00000000
|
|
Data of entry 1:
|
|
0036 4b 75 61 6c 61 00 Kuala.
|
|
Data of entry 2:
|
|
003c 4c 75 6d 70 75 72 00 Lumpur.
|
|
Data of entry 3:
|
|
0043 4d 61 6c 61 79 73 69 61 00 Malaysia.
|
|
|
|
Move data buffer
|
|
IFD Offset: 0x00000001, IFD Entries: 4
|
|
Entry Tag Format (Bytes each) Number Offset
|
|
----- ------ --------------------- ------ -----------
|
|
0 0x0001 Ascii (1) 4 54 68 65 00
|
|
1 0x0002 Ascii (1) 6 0x00000036
|
|
2 0x0003 Ascii (1) 7 0x0000003c
|
|
3 0x0004 Ascii (1) 9 0x00000043
|
|
Next IFD: 0x00000000
|
|
Data of entry 1:
|
|
0037 4b 75 61 6c 61 00 Kuala.
|
|
Data of entry 2:
|
|
003d 4c 75 6d 70 75 72 00 Lumpur.
|
|
Data of entry 3:
|
|
0044 54 48 52 45 45 00 00 00 00 THREE....
|
|
IFD Offset: 0x00000001, IFD Entries: 4
|
|
Entry Tag Format (Bytes each) Number Offset
|
|
----- ------ --------------------- ------ -----------
|
|
0 0x0001 Ascii (1) 4 54 68 65 00
|
|
1 0x0002 Ascii (1) 6 0x00000036
|
|
2 0x0003 Ascii (1) 7 0x0000003c
|
|
3 0x0004 Ascii (1) 9 0x00000043
|
|
Next IFD: 0x00000000
|
|
Data of entry 1:
|
|
0037 4b 75 61 6c 61 00 Kuala.
|
|
Data of entry 2:
|
|
003d 4c 75 6d 70 75 72 00 Lumpur.
|
|
Data of entry 3:
|
|
0044 54 48 52 45 45 00 00 00 00 THREE....
|