We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
해당 버젼에 있어야 할 것으로 추측되는 필드가 없는 경우가 존재하는 듯 함.
가령 Numbering의 unknown 필드는 대체로 >= 5.0.3.0 버젼부터 관측되는데, 그보다 높은 버젼의 파일임에도 없는 경우가 있음.
5.0.3.3/d6dfac424525298119de54410c3b22d74aa85511.hwp
ParseError: can't parse <class 'hwp5.dataio.UINT32'> Caused by: Eof(144,) Path: DocInfo Treegroup: 1 Record: 45 Record Payload: 0 1 2 3 4 5 6 7 8 9 A B C D E F 000000: 0c 00 00 00 00 00 32 00 ff ff ff ff 03 00 5e 00 000010: 31 00 2e 00 0c 01 00 00 00 00 32 00 ff ff ff ff 000020: 03 00 5e 00 32 00 2e 00 0c 00 00 00 00 00 32 00 000030: ff ff ff ff 03 00 5e 00 33 00 29 00 0c 01 00 00 000040: 00 00 32 00 ff ff ff ff 03 00 5e 00 34 00 29 00 000050: 0c 00 00 00 00 00 32 00 ff ff ff ff 04 00 28 00 000060: 5e 00 35 00 29 00 0c 01 00 00 00 00 32 00 ff ff 000070: ff ff 04 00 28 00 5e 00 36 00 29 00 2c 00 00 00 000080: 00 00 32 00 ff ff ff ff 02 00 5e 00 37 00 00 00 Problem Offset: at 144 (=0x90) Binary Parse Events: STARTEVENT: Numbering STARTEVENT: ARRAY(NumberingLevel,7) 'levels' STARTEVENT: NumberingLevel STARTEVENT: Flags 'flags' 0000: UINT32 12 ENDEVENT: Flags 'flags' 0004: HWPUNIT16 'width_correction' 0 0006: HWPUNIT16 'distance_to_body' 50 0008: INT32 'charshape_id' -1 000c: BSTR 'numbering_format' u'^1.' ENDEVENT: NumberingLevel STARTEVENT: NumberingLevel STARTEVENT: Flags 'flags' 0014: UINT32 268 ENDEVENT: Flags 'flags' 0018: HWPUNIT16 'width_correction' 0 001a: HWPUNIT16 'distance_to_body' 50 001c: INT32 'charshape_id' -1 0020: BSTR 'numbering_format' u'^2.' ENDEVENT: NumberingLevel STARTEVENT: NumberingLevel STARTEVENT: Flags 'flags' 0028: UINT32 12 ENDEVENT: Flags 'flags' 002c: HWPUNIT16 'width_correction' 0 002e: HWPUNIT16 'distance_to_body' 50 0030: INT32 'charshape_id' -1 0034: BSTR 'numbering_format' u'^3)' ENDEVENT: NumberingLevel STARTEVENT: NumberingLevel STARTEVENT: Flags 'flags' 003c: UINT32 268 ENDEVENT: Flags 'flags' 0040: HWPUNIT16 'width_correction' 0 0042: HWPUNIT16 'distance_to_body' 50 0044: INT32 'charshape_id' -1 0048: BSTR 'numbering_format' u'^4)' ENDEVENT: NumberingLevel STARTEVENT: NumberingLevel STARTEVENT: Flags 'flags' 0050: UINT32 12 ENDEVENT: Flags 'flags' 0054: HWPUNIT16 'width_correction' 0 0056: HWPUNIT16 'distance_to_body' 50 0058: INT32 'charshape_id' -1 005c: BSTR 'numbering_format' u'(^5)' ENDEVENT: NumberingLevel STARTEVENT: NumberingLevel STARTEVENT: Flags 'flags' 0066: UINT32 268 ENDEVENT: Flags 'flags' 006a: HWPUNIT16 'width_correction' 0 006c: HWPUNIT16 'distance_to_body' 50 006e: INT32 'charshape_id' -1 0072: BSTR 'numbering_format' u'(^6)' ENDEVENT: NumberingLevel STARTEVENT: NumberingLevel STARTEVENT: Flags 'flags' 007c: UINT32 44 ENDEVENT: Flags 'flags' 0080: HWPUNIT16 'width_correction' 0 0082: HWPUNIT16 'distance_to_body' 50 0084: INT32 'charshape_id' -1 0088: BSTR 'numbering_format' u'^7' ENDEVENT: NumberingLevel ENDEVENT: ARRAY(NumberingLevel,7) 'levels' 008e: UINT16 'starting_number' 0 STARTEVENT: ARRAY(UINT32,7) 'unknown' 0090: UINT32 -- Exception: Eof(144,) Model Stack:
레코드 스트림 파싱 시 기대하지 않은 스트림의 끝을 만나면 해당 레코드를 불완전하게 남겨둔 채 다음 레코드로 넘어가서 진행하도록 해야함.
The text was updated successfully, but these errors were encountered:
혹은 해당 필드 이후는 없을 수 있음을 명시적으로 표시.
Sorry, something went wrong.
binmodel: enhance HWPTAG_NUMBERING >= 5.0.3.0
11f082c
TODO: see #147
#149 로 미루어보아 돌아다니는 crafted 파일들에 이런 경우가 있는 듯 함. 무작정 스택 트레이스 뽑는 대신 경고를 주면 좋겠지.
No branches or pull requests
해당 버젼에 있어야 할 것으로 추측되는 필드가 없는 경우가 존재하는 듯 함.
가령 Numbering의 unknown 필드는 대체로 >= 5.0.3.0 버젼부터 관측되는데, 그보다 높은 버젼의 파일임에도 없는 경우가 있음.
5.0.3.3/d6dfac424525298119de54410c3b22d74aa85511.hwp
레코드 스트림 파싱 시 기대하지 않은 스트림의 끝을 만나면 해당 레코드를 불완전하게 남겨둔 채 다음 레코드로 넘어가서 진행하도록 해야함.
The text was updated successfully, but these errors were encountered: