Austin Donnelly <[EMAIL PROTECTED]> writes:
>
> Package: libc6
> Version: 2.1.1
> 
> The definition of strstr(3) in ./sysdeps/i386/i486/bits/string.h
> includes a fragment of assembly:
 
[snip]
 
> Note that it clears the direction flag (cld), but never restores it to
> its previous value.  This could be a problem if someone sets the
> direction bit in EFLAGS.  This same problem is present in quite a few
> other functions in string.h

The calling conventions say the direction flag should be clear on
function entry and exit, so glibc is correct.  (See chapter 3 of the
iBCS2 book.)

If anything, actually, the cld would be unnecessary, but I guess glibc
doesn't want to rely on it.

Reply via email to