[Date Prev][Date Next] [Chronological] [Thread] [Top]

Bug in servers\slapd\schema_init.c (ITS#3115)

Full_Name: William Woody
Version: 2.2.8
Submission from: (NULL) (

At line 1760 of schema_init.c in v2.2.8 of OpenLDAP, the macro 'TOUPPER()' is
invoked with a post-increment operator. Using the C macro 'TOUPPER' with an
expression with side-effects is not guarenteed, and as it turns out on Microsoft
Visual C++ v6.0 the macro causes the pointer to be incremented twice. This
causes random and strange failures when attempting to compile and run the code
for Windows.

The fix is to either move the post-increment side effect out of the macro call,
or to wrapper the TOUPPER() macro with a ToUpper() call which causes the pointer
to be incremented once.