315,7 → 315,7 |
cmp [edi+SRV.magic], ' SRV' |
jne .fail |
|
cmp [edi+SRV.size], SRV_SIZE |
cmp [edi+SRV.size], SRV.sizeof |
jne .fail |
|
stdcall [edi+SRV.srv_proc], esi |
347,7 → 347,7 |
cmp [eax+SRV.magic], ' SRV' |
jne .fail |
|
cmp [eax+SRV.size], SRV_SIZE |
cmp [eax+SRV.size], SRV.sizeof |
jne .fail |
|
stdcall [eax+SRV.srv_proc], ebx |
402,8 → 402,8 |
cmp [handler], eax |
je .fail |
|
mov eax, SRV_SIZE |
call malloc ;call alloc_service |
mov eax, SRV.sizeof |
call malloc |
test eax, eax |
jz .fail |
|
411,13 → 411,15 |
push edi |
mov edi, eax |
mov esi, [name] |
mov ecx, 16/4 |
rep movsd |
movsd |
movsd |
movsd |
movsd |
pop edi |
pop esi |
|
mov [eax+SRV.magic], ' SRV' |
mov [eax+SRV.size], SRV_SIZE |
mov [eax+SRV.size], SRV.sizeof |
|
mov ebx, srv.fd-SRV_FD_OFFSET |
mov edx, [ebx+SRV.fd] |
611,7 → 613,10 |
jz .cleanup |
|
mov [file2], eax |
pushfd |
cli |
stdcall unpack, [file], eax |
popfd |
stdcall kernel_free, [file] |
mov eax, [file2] |
mov ebx, [file_size] |
1084,8 → 1089,8 |
endp |
|
align 4 |
proc stop_all_services |
|
stop_all_services: |
push ebp |
mov edx, [srv.fd] |
.next: |
cmp edx, srv.fd-SRV_FD_OFFSET |
1092,7 → 1097,7 |
je .done |
cmp [edx+SRV.magic], ' SRV' |
jne .next |
cmp [edx+SRV.size], SRV_SIZE |
cmp [edx+SRV.size], SRV.sizeof |
jne .next |
|
mov ebx, [edx+SRV.entry] |
1105,8 → 1110,8 |
pop edx |
jmp .next |
.done: |
pop ebp |
ret |
endp |
|
; param |
; eax= size |