[email protected] writes: >> struct berval x = BER_BVC("cn=foo"); >> dnParent(x, x); >> keeps x.bv_val pointing at "cn=foo" instead of at the \0 >> behind it. bv_len is correctly set to 0 though. > > Could be sort of intentional. As far as I remember, dnParent() is > supposed to leave the second argument untouched, as it is often used > on read-only data.
s/second/first/, but yes. With pdn=dn though (both args equal), the code first reset pdn->bv_val and then used that value. Swapping it makes more sense, and ensures that the output value is independent of whether or not pdn == dn. > Probably, the most appropriate fix consists in passing > a temporary as the first argument. No, the comment above the function says that pdn can be == dn. -- Hallvard
