Hi
I ripped regexp library from FreeBSD 4 and use it in another program. I get random crashes because the library casts char to int and uses it as array index ... the most obvious case is engine.i:189: register char *dp; dp += charjump[(int)*dp]; but there are many more and I'm unable to spot them all.
When i compile library with -funsigned-char, it works fine. But it isn't compiled with that flag in FreeBSD.
Mikulas,
Could you verify that programs in FreeBSD 4 crash because of this? That would provide incentive to get it fixed.
One easy fix, by the way, is:
dp += charjump[(int)(unsigned char)*dp];
For what it's worth, the code probably isn't assuming unsigned characters; it's probably assuming ASCII. ;-)
Tim Kientzle
_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"