| www.delorie.com/archives/browse.cgi | search | 
| From: | sandmann AT clio DOT rice DOT edu (Charles Sandmann) | 
| Message-Id: | <10104170423.AA18680@clio.rice.edu> | 
| Subject: | Re: Stub trying to find COMSPEC=A:\COMMAND.COM\CWSDPMI.EXE! | 
| To: | eliz AT is DOT elta DOT co DOT il | 
| Date: | Mon, 16 Apr 2001 23:23:34 -0500 (CDT) | 
| Cc: | djgpp-workers AT delorie DOT com, ams AT ludd DOT luth DOT se (Martin Str|mberg) | 
| In-Reply-To: | <9003-Sun15Apr2001113620+0300-eliz@is.elta.co.il> from "Eli Zaretskii" at Apr 15, 2001 11:36:21 AM | 
| X-Mailer: | ELM [version 2.5 PL2] | 
| Mime-Version: | 1.0 | 
| Reply-To: | djgpp-workers AT delorie DOT com | 
| Errors-To: | nobody AT delorie DOT com | 
| X-Mailing-List: | djgpp-workers AT delorie DOT com | 
| X-Unsubscribes-To: | listserv AT delorie DOT com | 
> The stub was supposed to end the scan in load_dpmi when it sees this
> null character.
> 
> Obviously, it doesn't.  So there's some bug in load_dpmi wrt the
> trailing null character of PATH= setting in the environment.
I looked at the stub.asm code (well, some version I have lying around
which I am guessing is the same as the current release) and it's buggy.
There is a section:
        call    store_env_string        ; to "loadname"
        cmp     si, loadname            ; anything there?
        je      do_exec                 ; final try (no path) let it return
Which won't work at all, since we never check for a difference between
null and ; as delimiters (si == loadname only after a double null).
A poorly thought out fix might be:                        
        call    store_env_string        ; to "loadname"
        or      al,al                   ; check terminating char
        jne     @f1                     ; if ; continue
        dec     di                      ; else point at null for next pass
@f1:
        cmp     si, loadname            ; anything there?
        je      do_exec                 ; final try (no path) let it return
This appears to have been there since October 1994 ...
| webmaster | delorie software privacy | 
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |