[EMAIL PROTECTED] wrote:
> Function sql_xlat release sql socket before strncpy() access
> sqlsocket->row.  So, second thread my reserve this socket and change
> sqlsocket->row after first thread release socket but before first
> call strncpy(). At my sight, this situation could cause
> SIGSEGV. Isn't it?

  That's a definite bug.

> Of course, sql_xlat never called from rlm_sql, but when I use it (in
> modified rlm_sql) and give high loading for radiusd (~100 requests
> per second), radiusd recieved SIGSEGV in strncpy() at
> sql_xlat(). But when the radiusd with the same module runningas
> single thread, all is OK.

  Hmm... the SQL code *should* take care of locking and threading
issues.

  I'll commit a patch now.  Grab the code from CVS, and see if the
updated SQL module works under load.

  Alan DeKok.

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to