Adding a part frame doesn't work
I use KID3 for windows, version 0.10, qt 4.3.2. I'm preparing a small file that would contain all ID3v2 frames known to mankind.
I've created a file (attached). It already contains some ID3v2 frames. I've been adding them from top to bottom. Now, when I try to add the Part frame, the program halts. I happen to have Visual Studio installed, the debugger doesn't have the sources, so the only thing it can show is the disassembly and the stack trace.
The disassembly of the spot that causes the error (some leading and some trailing lines have been included)
004DB326 lea esi,[esi]
004DB329 lea edi,[edi]
004DB330 push ebp
004DB331 mov ebp,esp
004DB333 sub esp,18h
004DB336 mov dword ptr [ebp-8],ebx
004DB339 mov ebx,dword ptr [ebp+0Ch]
004DB33C mov dword ptr [ebp-4],esi
004DB33F mov esi,dword ptr [ebp+8]
004DB342 test ebx,ebx
004DB344 je 004DB3A0
004DB346 mov dword ptr [esp],esi
004DB349 call 004DB310
004DB34E cmp ebx,eax
004DB350 je 004DB3A0
004DB352 mov dword ptr [esp],ebx
004DB355 call 004E8E40
THIS OP CAUSES THE ERROR
004DB35A cmp byte ptr [eax+0Dh],0
004DB35E mov ecx,eax 004DB360 mov dword ptr [esi+1Ch],eax 004DB363 lea edx,[esi+0Ch] 004DB366 jne 004DB3B0 004DB368 movzx eax,word ptr [edx+4] 004DB36C and eax,7FFFh 004DB371 cmp byte ptr [ecx+0Eh],0 004DB375 mov word ptr [edx+4],ax 004DB379 je 004DB3C3 004DB37B movzx eax,word ptr [edx+4] 004DB37F or eax,4000h 004DB384 mov word ptr [edx+4],ax 004DB388 mov eax,1 004DB38D mov byte ptr [esi+18h],1 004DB391 mov ebx,dword ptr [ebp-8] 004DB394 mov esi,dword ptr [ebp-4]
the stack trace:
kid3.exe!004db35a() [Frames below may be incorrect and/or missing, no symbols loaded for kid3.exe] kid3.exe!004da48b() kid3.exe!004da4e5() kid3.exe!004dabaa() kid3.exe!005ebc50() ntdll.dll!7c9106eb() msvcrt.dll!77c1c3c9() kid3.exe!00412dbb() kid3.exe!004d43e6() kid3.exe!005e1adb() kid3.exe!004468f8() kid3.exe!005ebc50() kid3.exe!00401d80() kid3.exe!00411702() kid3.exe!00426174() kid3.exe!004d22ac() QtCore4.dll!6a2f59e2() msvcrt.dll!77c1c2e3() QtGui4.dll!652c90fe() QtCore4.dll!6a2f56b0() msvcrt.dll!77c1c42e() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() QtGui4.dll!657a8aa0() QtGui4.dll!6526cfd7() QtGui4.dll!652c6159() ntdll.dll!7c91056d() msvcrt.dll!77c1c2de() ntdll.dll!7c910732() gdi32.dll!77f176bb() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() QtGui4.dll!652cab8e() ntdll.dll!7c91056d() msvcrt.dll!77c1c2de() msvcrt.dll!77c1c2e3() QtGui4.dll!657a8aa0() msvcrt.dll!77c1c2e3() QtGui4.dll!657a7845() QtGui4.dll!652c6ccb() ntdll.dll!7c91056d() msvcrt.dll!77c1c2de() QtGui4.dll!657a8aa0() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c9106eb() msvcrt.dll!77c1c3ce() QtCore4.dll!6a3206f0() QtCore4.dll!6a1c5c60() msvcrt.dll!77c1c3ce() QtCore4.dll!6a3206f0() QtCore4.dll!6a2f928b() QtCore4.dll!6a2f465b() QtGui4.dll!657a7845() QtCore4.dll!6a2f5d89() QtCore4.dll!6a2f60a3() QtGui4.dll!657995e7() QtGui4.dll!654ae9d6() QtGui4.dll!6515a280() QtGui4.dll!654ad1af() QtGui4.dll!654af5e7() QtCore4.dll!6a1f9a85() QtGui4.dll!6515a280() QtGui4.dll!654af8f6() QtGui4.dll!651650f2() QtCore4.dll!6a1c237e() QtCore4.dll!6a3206f0() QtCore4.dll!6a3206f0() ntdll.dll!7c910d5c() ntdll.dll!7c910e91() QtCore4.dll!6a3206f0() QtCore4.dll!6a2f465b() QtGui4.dll!657a8aa0() QtGui4.dll!6549c3f7() QtCore4.dll!6a1c5c60() msvcrt.dll!77c1c3ce() QtCore4.dll!6a3206f0() QtCore4.dll!6a1c5c60() QtGui4.dll!654ae897() QtGui4.dll!65579a52() QtGui4.dll!6510ae7d() QtGui4.dll!657a89fc() QtGui4.dll!6510c0cf() QtGui4.dll!652c5d42() QtGui4.dll!657a8aa0() QtGui4.dll!6515ae50() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() QtGui4.dll!6515ae50() QtGui4.dll!652c90fe() QtGui4.dll!65156b4c() QtCore4.dll!6a3206f0() QtGui4.dll!65178150() QtCore4.dll!6a1c237e() user32.dll!7e36885a() user32.dll!7e36882a() QtCore4.dll!6a3206f0() QtCore4.dll!6a1c2606() user32.dll!7e36b4cb() user32.dll!7e36b50c() QtCore4.dll!6a2dff23() ntdll.dll!7c90eae3() user32.dll!7e36d6f1() QtGui4.dll!65176f87() ntdll.dll!7c9105c8() ntdll.dll!7c91056d() gdi32.dll!77f160ab() QtGui4.dll!6515d3ab() QtGui4.dll!652c55f4() QtGui4.dll!6526cda1() ntdll.dll!7c91056d() gdi32.dll!77f176bb() QtGui4.dll!657a8aa0() msvcrt.dll!77c1c2e3() QtGui4.dll!657a7845() QtGui4.dll!65174f4f() QtGui4.dll!6517823c() user32.dll!7e3684fc() user32.dll!7e3685a4() user32.dll!7e36b3f9() user32.dll!7e368bd9() user32.dll!7e36b3cc() user32.dll!7e36b3a7() QtGui4.dll!65167ff9() QtGui4.dll!6517899b() ntdll.dll!7c910732() QtGui4.dll!657a8aa0() QtGui4.dll!6515c375() QtGui4.dll!657a8aa0() QtGui4.dll!6515c15b() QtGui4.dll!652c4c71() QtGui4.dll!657a8aa0() QtGui4.dll!652c55f4() QtGui4.dll!6515c59d() QtGui4.dll!657a8aa0() QtGui4.dll!6515c15b() QtGui4.dll!652c4c71() QtGui4.dll!657a8aa0() QtGui4.dll!652c55f4() QtGui4.dll!6515c59d() QtGui4.dll!6567fdad() QtGui4.dll!657a8aa0() QtGui4.dll!657a8aa0() QtGui4.dll!6515c375() msvcrt.dll!77c1c2de() msvcrt.dll!77c1c2e3() gdi32.dll!77f176bb() QtGui4.dll!657a8aa0() ntdll.dll!7c912d34() ntdll.dll!7c912d34() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() ntdll.dll!7c910732() ntdll.dll!7c9106eb() ntdll.dll!7c910732() QtGui4.dll!657a8aa0() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() QtGui4.dll!6513da1d() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() QtGui4.dll!653a0e09() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() msvcrt.dll!77c1c3ce() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() QtCore4.dll!6a3206f0() QtCore4.dll!6a2e69a1() ntdll.dll!7c9106eb() msvcrt.dll!77c1c3c9() msvcrt.dll!77c1c3ce() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() QtCore4.dll!6a3206f0() QtCore4.dll!6a2e69a1() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c91056d() msvcrt.dll!77c1c2de() msvcrt.dll!77c1c2e3() QtCore4.dll!6a3206f0() QtCore4.dll!6a2e80c0() QtGui4.dll!656e574e() QtGui4.dll!657a8aa0() QtGui4.dll!656bdbc7() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() msvcrt.dll!77c1c2de() QtGui4.dll!656c0df2() QtCore4.dll!6a3206f0() QtCore4.dll!6a2e9699() QtGui4.dll!657a8aa0() QtGui4.dll!65108efe() QtGui4.dll!657a8aa0() QtGui4.dll!657a8aa0() QtGui4.dll!657a8aa0() gdi32.dll!77f17102() gdi32.dll!77f170ad() QtGui4.dll!652cdb14() ntdll.dll!7c9106eb() user32.dll!7e371baa() user32.dll!7e371bcf() QtGui4.dll!653a27c2() QtGui4.dll!657a8aa0() QtGui4.dll!657a8aa0() QtGui4.dll!652e3ac4() QtGui4.dll!653a0ed3() QtCore4.dll!6a2f465b() QtGui4.dll!657a8aa0() QtGui4.dll!65155a3a() QtGui4.dll!657a8aa0() QtCore4.dll!6a3206f0() QtCore4.dll!6a3206f0() QtCore4.dll!6a2f465b() QtGui4.dll!657a8aa0() ntdll.dll!7c911538() ntdll.dll!7c911596() ntdll.dll!7c9106eb() QtGui4.dll!65165059() QtGui4.dll!6548f249() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() QtGui4.dll!65165059() QtGui4.dll!65165059() ntdll.dll!7c910f46() ntdll.dll!7c910e91() ntdll.dll!7c91056d() gdi32.dll!77f1919d() gdi32.dll!77f1915f() gdi32.dll!77f18ef9() gdi32.dll!77f17012() gdi32.dll!77f16ffa() guard32.dll!10001a5f() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() gdi32.dll!77f16e2d() gdi32.dll!77f16f1a() gdi32.dll!77f16e81() user32.dll!7e371e1c() user32.dll!7e371c9f() user32.dll!7e371c87() user32.dll!7e37296a() user32.dll!7e372931() user32.dll!7e37293c() QtGui4.dll!656e6c58() QtGui4.dll!6510ae7d() ntdll.dll!7c910833() ntdll.dll!7c910833() ntdll.dll!7c910895() ntdll.dll!7c912754() ntdll.dll!7c912937() ntdll.dll!7c910833() ntdll.dll!7c910895() ntdll.dll!7c912975() ntdll.dll!7c9129b9() ntdll.dll!7c910833() gdi32.dll!77f17f7c() gdi32.dll!77f1840c() gdi32.dll!77f18c7c() gdi32.dll!77f18c86() gdi32.dll!77f18c86() ntdll.dll!7c912937() ntdll.dll!7c912c99() ntdll.dll!7c912cb7() kernel32.dll!7c809fde() kernel32.dll!7c809ff5() user32.dll!7e372c0f() kernel32.dll!7c809ff5() user32.dll!7e372005() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() user32.dll!7e369d60() ntdll.dll!7c911538() ntdll.dll!7c911596() ntdll.dll!7c9106eb() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c9105c8() ntdll.dll!7c91056d() gdi32.dll!77f1a86c() gdi32.dll!77f17012() gdi32.dll!77f16ffa() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c911bff() ntdll.dll!7c911dac() ntdll.dll!7c910eca() ntdll.dll!7c910e91() ntdll.dll!7c91056d() ntdll.dll!7c91056d() kernel32.dll!7c80996d() user32.dll!7e36ef61() kernel32.dll!7c80996d() MSCTF.dll!746f02bd() ntdll.dll!7c90dcdf() kernel32.dll!7c8131aa() kernel32.dll!7c81325a() ntdll.dll!7c90d592() kernel32.dll!7c809b8b() MSCTF.dll!746d15d9() MSCTF.dll!746ef6a5() kernel32.dll!7c8025f0() kernel32.dll!7c8025f0() kernel32.dll!7c802532() kernel32.dll!7c80261a() kernel32.dll!7c8025f0() ntdll.dll!7c90e2f1() kernel32.dll!7c8024b7() MSCTF.dll!74704ac9() MSCTF.dll!746f096f() MSCTF.dll!746f099f() MSCTF.dll!74704c96() user32.dll!7e3684fc() user32.dll!7e3685a4() user32.dll!7e36d598() user32.dll!7e368bd9() user32.dll!7e36d5ac() user32.dll!7e36d559() user32.dll!7e36d559() MSCTF.dll!746efbb0() MSCTF.dll!746efbbb() ntdll.dll!7c90e2f1() kernel32.dll!7c8024b7() MSCTF.dll!746d5502() MSCTF.dll!746d4636() MSCTF.dll!746e0455() user32.dll!7e36f896() user32.dll!7e36f896() MSCTF.dll!746e0e6c() MSCTF.dll!746e0e71() MSCTF.dll!746e09a9() MSCTF.dll!746e0e71() user32.dll!7e36f7f6() QtGui4.dll!65178150() user32.dll!7e368734() user32.dll!7e368816() user32.dll!7e3689cd() user32.dll!7e368a10() QtCore4.dll!6a30fa31() msvcrt.dll!77c1c2e3() QtGui4.dll!65174f4f() uxtheme.dll!5b1d1b3d() user32.dll!7e36b3f9() user32.dll!7e368bd9() user32.dll!7e36b3cc() user32.dll!7e36b3a7() QtGui4.dll!6517823c() user32.dll!7e36d074() user32.dll!7e368bd9() user32.dll!7e36885a() user32.dll!7e36882a() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() user32.dll!7e36b4cb() user32.dll!7e36d0a5() user32.dll!7e36d0b5() ntdll.dll!7c90eae3() user32.dll!7e36dbf8() QtGui4.dll!651980a0() QtGui4.dll!654887f3() QtGui4.dll!657a8aa0() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() QtGui4.dll!6515d3ab() user32.dll!7e37f650() ntdll.dll!7c91056d() ntdll.dll!7c917cb7() ntdll.dll!7c917bf5() ntdll.dll!7c917bb0() QtCore4.dll!6a2f7f98() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() QtGui4.dll!6557cff1() QtGui4.dll!657a8aa0() QtGui4.dll!657a8aa0() QtGui4.dll!65165059() msvcrt.dll!77c1c3e7() QtGui4.dll!657a8aa0() QtGui4.dll!657a8aa0() msvcrt.dll!77c1c3c9() msvcrt.dll!77c1c3ce() ntdll.dll!7c917bb0() msvcrt.dll!77c1c756() msvcrt.dll!77c1c774() msvcrt.dll!77c1c42e() QtCore4.dll!6a2220d9() msvcrt.dll!77c1c774() QtGui4.dll!65814850() QtCore4.dll!6a222199() QtGui4.dll!6581461d() QtGui4.dll!6530ca9c() QtGui4.dll!657a8aa0() QtGui4.dll!653ac0fb() QtGui4.dll!653ac0fb() QtGui4.dll!657a8aa0() QtCore4.dll!6a3206f0() QtCore4.dll!6a2f7f98() QtGui4.dll!657a8aa0() ntdll.dll!7c9106eb() QtGui4.dll!65165059() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() QtGui4.dll!657a8aa0() QtGui4.dll!6548f2a9() QtGui4.dll!6548f2a9() QtGui4.dll!65165059() QtGui4.dll!657a77ab() gdi32.dll!77f19ea8() QtGui4.dll!657a8aa0() QtGui4.dll!6540e2a5() QtGui4.dll!6540e2a5() ntdll.dll!7c9106eb() QtCore4.dll!6a3206f0() QtCore4.dll!6a3206f0() user32.dll!7e36ec0c() QtCore4.dll!6a2f7f98() QtGui4.dll!65165059() QtGui4.dll!6540e2a5() QtGui4.dll!65157625() ntdll.dll!7c910732() QtGui4.dll!657a8aa0() ntdll.dll!7c9106eb() QtGui4.dll!65165059() ntdll.dll!7c910732() ntdll.dll!7c9106eb() QtGui4.dll!657a8aa0() QtGui4.dll!657a8aa0() ntdll.dll!7c9106eb() QtGui4.dll!651650a7() QtGui4.dll!6548f249() QtGui4.dll!653b1777() QtGui4.dll!657a8aa0() QtGui4.dll!6549c3f7() QtGui4.dll!657a8aa0() QtGui4.dll!654ae897() QtGui4.dll!657a8aa0() QtGui4.dll!6540e2a5() QtCore4.dll!6a1c5c60() QtGui4.dll!657a8aa0() QtCore4.dll!6a3206f0() QtCore4.dll!6a2f7f98() QtGui4.dll!657a8aa0() QtGui4.dll!655819fb() ntdll.dll!7c910732() ntdll.dll!7c911538() ntdll.dll!7c911596() ntdll.dll!7c9106eb() QtGui4.dll!657a8aa0() ntdll.dll!7c910551() QtGui4.dll!651650a7() QtGui4.dll!6548f249() msvcrt.dll!77c1c3ce() ntdll.dll!7c910732() ntdll.dll!7c917e77() ntdll.dll!7c917c0c() ntdll.dll!7c917bb0() ntdll.dll!7c917bb0() ntdll.dll!7c912975() ntdll.dll!7c9129b9() ntdll.dll!7c910833() user32.dll!7e36b42d() user32.dll!7e36d598() user32.dll!7e368bd9() user32.dll!7e36d5ac() user32.dll!7e36d559() user32.dll!7e36d559() MSCTF.dll!746efbbb() user32.dll!7e36d598() user32.dll!7e36d598() user32.dll!7e368bd9() user32.dll!7e36d5ac() user32.dll!7e36d559() user32.dll!7e36d559() MSCTF.dll!746efbb0() MSCTF.dll!746efbbb() user32.dll!7e36baa4() user32.dll!7e36b96b() user32.dll!7e36b96b() uxtheme.dll!5b1d18d7() uxtheme.dll!5b1d338a() user32.dll!7e368734() user32.dll!7e36d074() user32.dll!7e368bd9() user32.dll!7e36885a() user32.dll!7e36882a() user32.dll!7e368734() user32.dll!7e368bd9() user32.dll!7e36885a() user32.dll!7e36882a() user32.dll!7e36882a() user32.dll!7e36b4c0() user32.dll!7e36b4cb() uxtheme.dll!5b1d153d() uxtheme.dll!5b1d3d17() user32.dll!7e368bd9() user32.dll!7e36bd1f() user32.dll!7e368ffb() user32.dll!7e368ffb() uxtheme.dll!5b1d48c3() uxtheme.dll!5b1d48f6() uxtheme.dll!5b1d48f6() user32.dll!7e36fdfe() ntdll.dll!7c91056d() uxtheme.dll!5b1d487a() uxtheme.dll!5b1d488e() uxtheme.dll!5b1d5ef7() uxtheme.dll!5b1d557c() uxtheme.dll!5b1d153d() uxtheme.dll!5b1d3d17() user32.dll!7e368bd9() user32.dll!7e36bd1f() user32.dll!7e368ffb() user32.dll!7e368ffb() uxtheme.dll!5b1d48c3() uxtheme.dll!5b1d48f6() uxtheme.dll!5b1d48f6() QtCore4.dll!6a3206f0() QtCore4.dll!6a2f7f98() user32.dll!7e368ffb() uxtheme.dll!5b1d48c3() uxtheme.dll!5b1d48f6() uxtheme.dll!5b1d48f6() uxtheme.dll!5b1d487a() uxtheme.dll!5b1d488e() uxtheme.dll!5b1d5d15() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() QtGui4.dll!657a8aa0() QtGui4.dll!651650a7() QtGui4.dll!6548f249() ntdll.dll!7c910732() ntdll.dll!7c9106eb() QtGui4.dll!657a8aa0() QtGui4.dll!6540e2a5() QtGui4.dll!657a8aa0() QtGui4.dll!655304e7() QtGui4.dll!657a77ab() QtGui4.dll!655819fb() ntdll.dll!7c9105c8() QtGui4.dll!6510ae7d() QtGui4.dll!657a8aa0() QtGui4.dll!6510b0a8() QtGui4.dll!657a8aa0() ntdll.dll!7c910732() QtGui4.dll!652c5f99() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() ntdll.dll!7c911538() ntdll.dll!7c911596() ntdll.dll!7c9106eb() msvcrt.dll!77c1c3ce() msvcrt.dll!77c1c42e() user32.dll!7e36b4cb() ntdll.dll!7c91056d() msvcrt.dll!77c1c2de() msvcrt.dll!77c1c2e3() gdi32.dll!77f176bb() QtGui4.dll!657a8aa0() QtGui4.dll!65660502() QtCore4.dll!6a3206f0() QtCore4.dll!6a3206f0() ntdll.dll!7c9106eb() msvcrt.dll!77c1c3c9() msvcrt.dll!77c1c3ce() msvcrt.dll!77c1c3ce() msvcrt.dll!77c1c42e() QtCore4.dll!6a30f0e0() QtGui4.dll!6517cd40() QtCore4.dll!6a339cc3() QtCore4.dll!6a2df91d() QtCore4.dll!6a339b6a() QtCore4.dll!6a2dfb2a() QtCore4.dll!6a3206f0() QtCore4.dll!6a2e5dbb() kid3.exe!005e1adb() kid3.exe!00437408() ntdll.dll!7c91056d() msvcrt.dll!77c1c2de() msvcrt.dll!77c1c3ce() QtCore4.dll!6a3206f0() QtCore4.dll!6a3132a2() msvcrt.dll!77c1c42e() kid3.exe!00607dec() kid3.exe!004d40ab() kid3.exe!00495f3c() ntdll.dll!7c910945() ntdll.dll!7c910970() kernel32.dll!7c8021b5() msvcrt.dll!77c1c024() msvcrt.dll!77c1c02d() kid3.exe!004d3ca8() msvcrt.dll!77c2a52e() kid3.exe!004d3d26() kid3.exe!0040124b() kid3.exe!004012b8() kernel32.dll!7c816fd7()
Imported from SourceForge, author: mylka