[PATCH 4/5] webservices: Respect session dictionary size limits on send dictionary.

Connor McAdams cmcadams at codeweavers.com
Wed Apr 20 08:58:49 CDT 2022


On Wed, Apr 20, 2022 at 03:19:35PM +0200, Hans Leidekker wrote:
> On Wed, 2022-04-20 at 09:01 -0400, Connor McAdams wrote:
> > On Wed, Apr 20, 2022 at 11:57:28AM +0200, Hans Leidekker wrote:
> > > On Tue, 2022-04-19 at 19:34 -0400, Connor McAdams wrote:
> > > > diff --git a/dlls/webservices/string.c b/dlls/webservices/string.c
> > > > index 3ecdcea85a4..c5e494b146a 100644
> > > > --- a/dlls/webservices/string.c
> > > > +++ b/dlls/webservices/string.c
> > > > @@ -145,6 +145,8 @@ void clear_dict( struct dictionary *dict )
> > > >      dict->sequence = NULL;
> > > >      dict->current_sequence = 0;
> > > >      dict->size = 0;
> > > > +    dict->str_bytes = 0;
> > > > +    dict->max_str_bytes = 0;
> > > >  }
> > > 
> > > This is called indirectly from WsResetChannel(). Setting the maximum to 0 would
> > > render the dictionary useless since there's no way to set the maximum again.
> > > 
> > > 
> > 
> > Ah, yeah, good point. I guess I was thinking of 'clear_dict' as
> > 'init_dict'. I'll fix this and send a new version of the final two
> > patches.
> 
> Right, then maybe rename it to 'init_dict' while you're at it?
>

This makes sense. The only place it feels like it gets confusing is in
'build_dict', where it is used on failure cases.

If I rename it to 'init_dict', it might make sense to just pass the
maximum session dictionary size as an argument then.



More information about the wine-devel mailing list