www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/11/01/19:38:47

From: Charles Sandmann <sandmann AT new-orleans DOT NeoSoft DOT com>
Subject: Re: NULL pointers in (ANSI) string functions [was: strcat() ?]
To: turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp (Stephen Turnbull)
Date: Tue, 1 Nov 1994 08:55:50 -0600 (CST)
Cc: dj AT stealth DOT ctron DOT com, babcock AT cfa DOT harvard DOT edu, djgpp AT sun DOT soe DOT clarkson DOT edu

> Well, yes, except that early releases of v 1.10 didn't always point to
> the rigth place; symify would often give a line too late or early, I

The call frame EIP's always point to the Eip of the instruction *after*
the call, so the line numbers were probably +1.

>     Oh, yeah, didn't you say that under DPMI you don't get a GPF and
> stack dump in this situation?  (I have no idea what I'm talking about,
> I don't use DPMI, I just recall a bunch of words that were sort of in
> that order---a reply to Tony Helm's original question about
> "strcat()?")  If this is so, then there is a need for a debugging library.

DPMI does not currently have null pointer protection, so under DPMI you
would currently just use whatever happens to be in page 0 of the memory
block.  Under V1.11 page 0 was never written, so your dpmi provider 
probably had it all zeros.  Due to a minor bug in the V1.12 LD, the
protection page wasn't being generated so the memory at location 0 was
being written with the COFF header (I think).  I can't be sure this is true, 
but because of the LD problem I don't think any (early?) V1.12 images
provide null pointer protection at all.

Anyway, it will all get fixed someday, and work under DPMI too.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019