forked from KolibriOS/kolibrios
fixing a memory leak in the clipboard
git-svn-id: svn://kolibrios.org@9265 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
a5f6a10b43
commit
f62bef13d5
@ -50,14 +50,12 @@ align 4
|
||||
dec ebx ; 2 - Write the data to the clipboard
|
||||
jnz .3
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; check pointer on kernel address
|
||||
stdcall is_region_userspace, edx, ecx
|
||||
jz @f
|
||||
mov eax, -1
|
||||
jmp .exit_1
|
||||
@@:
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; check the lock
|
||||
mov ebx, clipboard_write_lock
|
||||
xor eax, eax
|
||||
@ -81,6 +79,8 @@ align 4
|
||||
shl eax, 2
|
||||
add eax, [clipboard_main_list]
|
||||
mov [eax], edi
|
||||
push edi ;save pointer to data
|
||||
push ecx ;save size data
|
||||
; copy the data into the slot
|
||||
mov esi, edx
|
||||
mov eax, ecx
|
||||
@ -89,6 +89,10 @@ align 4
|
||||
sub ecx, 4
|
||||
add esi, 4
|
||||
rep movsb ; store slot data
|
||||
;copy ecx in Dword[clipboard_main_list+clipboard_slots*4]
|
||||
pop ecx
|
||||
pop eax
|
||||
mov [eax], ecx
|
||||
; increase the counter of slots
|
||||
inc [clipboard_slots]
|
||||
; unlock last slot
|
||||
|
Loading…
Reference in New Issue
Block a user