Szymon Roczniak wrote:
It's odd, but it looks like it doesn't matter what operator is used in this place. In fact it still works even without one (I've just tested it with some random 'operators' and with the operator field set to "").
Yes... I saw that, and just fixed it.
There are some code paths (in rlm_sql.c/rlm_sql_authorize()) where only one of the temporary pair lists (check_tmp) is freed before returning from the function and in other cases both check_tmp and reply_tmp are cleaned with pairfree(). I'm not sure it's a problem at all. And it's certainly not relevant in this case, as the execution goes past these checks and gets to the point where both temp lists are released.
Yes... so I'd really like to know what else is going on. From the valgrind log you posted, the leaks are full VALUE_PAIR structures... so there's only a limited number of places where that can happen. Oh well. I think it's time to release 2.1.7, despite these issues. Alan DeKok.