| 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 |