From 73708b6fd3e3c68e63a696a80886d14a60f85c87 Mon Sep 17 00:00:00 2001 From: kichik Date: Sun, 3 Aug 2003 23:32:56 +0000 Subject: [PATCH] It seems Windows 98 doesn't check ranges... git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2783 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/nsExec/nsexec.c | 13 +++++++------ Plugins/nsExec.dll | Bin 6144 -> 6144 bytes 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Contrib/nsExec/nsexec.c b/Contrib/nsExec/nsexec.c index 2e1fa1d5..54779de7 100644 --- a/Contrib/nsExec/nsexec.c +++ b/Contrib/nsExec/nsexec.c @@ -104,18 +104,19 @@ void ExecScript(int log) { if ( CopyFile(meDLLPath, g_exec, FALSE) ) { HANDLE hFile, hMapping; + LPBYTE pMapView; PIMAGE_NT_HEADERS pNTHeaders; hFile = CreateFile(g_exec, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING,0, 0); hMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, NULL); - pNTHeaders = (PIMAGE_NT_HEADERS)MapViewOfFile(hMapping, FILE_MAP_WRITE, 0, 0, 0); - if ( pNTHeaders ) + pMapView = MapViewOfFile(hMapping, FILE_MAP_WRITE, 0, 0, 0); + if ( pMapView ) { - pNTHeaders = (PIMAGE_NT_HEADERS)((BYTE*)pNTHeaders + ((PIMAGE_DOS_HEADER)pNTHeaders)->e_lfanew); + pNTHeaders = (PIMAGE_NT_HEADERS)(pMapView + ((PIMAGE_DOS_HEADER)pMapView)->e_lfanew); pNTHeaders->FileHeader.Characteristics = IMAGE_FILE_32BIT_MACHINE | IMAGE_FILE_LOCAL_SYMS_STRIPPED | IMAGE_FILE_LINE_NUMS_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE; pNTHeaders->OptionalHeader.Subsystem = IMAGE_SUBSYSTEM_WINDOWS_CUI; pNTHeaders->OptionalHeader.AddressOfEntryPoint = (DWORD)WinMain - (DWORD)g_hInst; - UnmapViewOfFile(pNTHeaders); + UnmapViewOfFile(pMapView); } CloseHandle(hMapping); CloseHandle(hFile); @@ -379,8 +380,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine { do { - GetExitCodeProcess(pi.hProcess, &Ret); - Sleep(LOOPTIMEOUT); + GetExitCodeProcess(pi.hProcess, &Ret); + Sleep(LOOPTIMEOUT); } while ( Ret == STILL_ACTIVE ); CloseHandle (pi.hProcess); CloseHandle (pi.hThread); diff --git a/Plugins/nsExec.dll b/Plugins/nsExec.dll index a15f639c006e9960b22a8a70b2b3c98548967be2..b00acab20a79864f7a7d650df581498bcc38c0ba 100644 GIT binary patch delta 2880 zcmc&$ZERE589vtu`6&4?kV~_bfGGx2O5xhq*N)>*k|;MxX&4R;4p~D=mKdC166##j zuo4VQ(#BjY5nWVeQ(0ljridXe6Nse@X&ym@Zk=eiE+E0W3Pr+#3`H%A!kTjS9NWRm8Z*G(EqRRrSCKn;)B9jt(se*Tf%8?=)`0L z=>Fx;rLR*woeG4%)jr`?b02As@QrB8b*s4_oqI+18%{gU>4V$UscM(ImhyT7(Tg+c zO?OzHb35HGx0fs;BovsVd*;-8b9#HD6<8dIz?Hv$^-kXb$oALwT z-_M7E%S*t4@AtszzM_w-)h1NHKV}FL{p$^{eK@9;8IxPd;3W%OmKie!Pr(q2oWY^^ zLO(bRQFITEQx{j}{;TrK-ze+;lk%D}W5V@(Ljw`XM&>K#AV=!d|%hTtzKh672!CT3Mj3*oSLDL;=o`=Hp zM(UKs;qr86bPS|>kXc7-pjKCRnw_s8H@l~n)0U?AMV7k2yiuZOy;K_SCC6Auewf{J z4JSq#>am-UJQwb*d5qLje!Di7QWC5I7s=TZ?)B0b+X+VN%(#4l;|SRm+A%=+DzIGM zW<-eREhL{(<4$fn-ya>Z3$l<$j0$nO0V+lX>=l!kkw*nzhm z{+uP0FN1tWPSYvr=*b-`hljldM;1*oa=Ed2BhFlKhoJ5a|_REgbgI^ktpb(T)R zdD1N9*MjR9?|9jl|O!DF4j8paL zhoIy}$G)Hny)(*+aCx$mD#nbsnVQMOYKl9=vB!|TIt^n$@mTi;CLxMF_Q<%qBWX`x z7b>x|sng6&%v~&Bu|O&brNkB?p?U<$$E*iM)T@)9BO(z;&$HR>% zF4$I{+cJMWmwgy6aIuEIirr147S5<#&n^_}iCIMq%d<#M6v+YaNyd(J&Bi+R4kW6y zQ%la=8O+D;S_Z(z$IA)11AGCbJx_=pFaiQl1XKav2X+DbfwzHofg#`uY%XK|GcXB! z0q9o12e1?nfMUQ6Gz0s9o)u&_`3V*mU_1hYVa#ki1n(+v5tsx%1=vVS$l3ZVco_yl zj(>|saF7$=%>hqFB|Ds&Dcg-5As>`-LCzuiyBRz}O6E!z3)HQK%G{EV*? z&Ri`&^k{|pb@@aWkF~80-tohKkd%3R9>r7M;)BBvV$quR9VpRu=_j;J3raIS;}YRY z+dH+R3yvaceBdwBMz;C|lFngHN}!Jw1~>)0jmAC)d=C5?^aUVtZu7z>&Jo+Op{c#u zV-Px53I*E>4J$j~Vq4puw)QvM44%#=&pxH4z0J_r)@<18+1u_vVDPYGF4yMg>3r683!68%#Rf0=s5IjPguwUpB!os`4`@*nr zQ5X|G68v3{H8ZeCrl?zXH4f!ADXV4{%-n*>5(bR{H%GY zd9B%GE--I2%jPZS8gsyW-29$7SIid+#Z6*^xJNuD22YA3;sx=NcwM|JJ`htZnU*rk ztCmKK*V1MAsb$D=#xi1wSU$GQSmsI3N(O1Iup80QrlKrt!-zX l?SL(88?gP{_Iuk++dbQN?fLc!`y2LNd)WTI9e-vg{|(DSq@(}< delta 2496 zcmc&$eN0=|6~E7Rz$AP)2`_cmq2 zEvX=+0+x6WtDrYc(UeXgN7c4OYE;yb?n83}3f($Yt=2*QNULr|o71q4s8wXCw0FO2 zd!+wN{c}(H`QCHR@0@$jIrm;TEu0ocYq)pEYBg0^c;c(QQ+Kgv>Hy@KJ2_Kz7}tMr zbgB{Kl@B}8<`EgxH zPm1HsnTadj22=7VVg#nsWbPZukKQHQzJa{im0Y{Rj(1`yDN%PdpX@dlUtGLwLl*mF zt76r*t;|GuqZGSanqZrZH3(encgizgQmTjQDBlB9JZPO*wQ*o4%=+09%7>xz$A)!q zs1ihkYq|S$$_JqyP8di1{*c}84`Tg9#!UG`%maFdUyo`Flx?~-Afj~Nt&s{Whz;3;g(<`y6MOIxQE<*Is_U7Et zoVJJnBjr6X#m*2^CG@zS)|4`GCihN+UCI5s%USmanY-b^dUVb#U=bgB>wD=X(<-~R z44;jNa;tDf%ex^nzoOwAI8;H8^>Lm@cf%KFrx>=uS!dA0#A~^w$(N9_nF>^Y5r`zr z{^ejXGbB$k?NXrnvw+dpdiMV0r`TQWlnq_a*aJ4Jb+u$4$K-iN4W0h7$#3-mUzRJ#$=uIv6_E|jy{bu=w&i}o)@+n4B^ zpGIy3*MH4re+TlxGv`M{7QB^4oH%Oj`Q~J5O*vO|0yH4;f2U?m6!8Up zq@g?9ZFDyt33u09w~M6JZ`i}fjoyPjC+n?p*Mk+r_C)yDfv)iG=flSi;;-zNTt@aE zd7+z-Kcvaw?&s^RHdm!}+4X+Gr&&UM7!KCp+8x&WYtL5UKZ3_tVOsFd0Ef|@g%5HA zpabmTe+1YAbU{80^i00I?jVOlqOaL-5y-ebLZiK~k@P4*OzF+O#vlK4~c zg7{1EvN$FFUYr&GEdEP$dW*fI-f{11-mBg@@5f$;bg%TVq)V+*w`58`lP*cGOK(c= zO7qgdKcppzlh?~zXG!@3zlgMJ5l}IPO2|$qy<3