committed thanks

On Wed, Jul 09, 2014 at 11:11:26AM +0200, Martijn van Duren wrote:
> Hello tech@,
> 
> I send this patch in to [email protected] a couple of days ago, but
> since there is a hackathon ongoing I thought I might send it here as
> well.
> 
> When running against the sqlite backend I noticed that multiple chained
> aliases/virtual users I would receive an invalid user. This turned out
> to be because the lookup always would return the original user along
> with extra users that were retrieved from the database.
> 
> I found that table_msg_dispatch didn't initialize res, so every request
> would (by chance?) still have the residual previous request, which got
> the new result appended by table_sqlite_lookup.
> 
> The patch below initializes this memory and fixes the bug for me.
> 
> Index: table_api.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/smtpd/table_api.c,v
> retrieving revision 1.4
> diff -u -p -u -r1.4 table_api.c
> --- table_api.c       4 Feb 2014 13:55:34 -0000       1.4
> +++ table_api.c       9 Jul 2014 08:36:17 -0000
> @@ -108,6 +108,7 @@ table_msg_dispatch(void)
>       char             res[4096];
>       int              type, r;
>  
> +     bzero(res, sizeof(res));
>       switch (imsg.hdr.type) {
>       case PROC_TABLE_OPEN:
>               table_msg_get(&op, sizeof op);
> 
> Sincerely,
> 
> Martijn van Duren
> 

-- 
Gilles Chehade

https://www.poolp.org                                          @poolpOrg

Reply via email to