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

Hans Leidekker hans at codeweavers.com
Wed Apr 20 09:26:41 CDT 2022


On Wed, 2022-04-20 at 09:58 -0400, Connor McAdams wrote:
> 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.

Yeah.





More information about the wine-devel mailing list