30.03.2014 14:03, Andrew Bird пишет:
> Hi Stas, Bart,
> Firstly, sorry if you already saw this on linux-msdos list, I didn't 
> realise this list existed but I'll only post here from now on.
> Here are some patches I made against today's devel branch. I had no 
> specific bug to fix, but just wanted to fix some minor bounds checks 
> and initialisation issues. If you appreciate what I am trying to do 
> I'll spend some more time looking for others.
>
> All compile successfully, but I have very few DOS programs to exercise 
> Dosemu properly. Any standalone memory exerciser programs for XMS, EMS 
> or DPMI would be helpful?
Thanks for the patches!
I applied the ones that look obvious.
I would prefer the patches in bts, one per ticket.
There is a concern that in an ML the patches are
better reviewed. This is true but bts also sends the
notification e-mails, so whoever is interested in
doing a review, can as well subscribe there I think.

> -  if (handle_info[handle].active != 1)
> +  if (!emm_valid_handle(handle))
>       return (FALSE);
Please double check that this is valid.
For instance, .active can be set to 0xff, which means
non-freeable handle.

> -  if ((handle < 0) || (handle >= MAX_HANDLES) || \
> -      (handle_info[handle].active == 0)) { \
> +  if ((handle < 0) || (handle >= MAX_HANDLES)) { \
> +    E_printf("Invalid Handle handle=%x\n", handle);  \
> +    SETHIGH(&(state->eax), EMM_INV_HAN); \
> +    return; \
> +  } \
> +  if (handle_info[handle].active == 0) { \
I don't think this fixes something.
The .active check will trigger only if both first
conditions evaluate to false, unless I forgot all of the
C programming.

> -    memcheck_reserve('U', addr_start, size);
>   
>       umb = umb_find_unused();
> +    if (umb == UMB_NULL) {
I haven't looked closely, but isn't this an assert condition?

------------------------------------------------------------------------------
_______________________________________________
Dosemu-devel mailing list
Dosemu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dosemu-devel

Reply via email to