On Mon, May 21, 2012 at 02:32:43PM -0400, Stephen Gallagher wrote:
> On Mon, 2012-05-21 at 13:04 +0200, Jakub Hrozek wrote:
> > On Mon, May 14, 2012 at 11:04:00AM -0400, Stephen Gallagher wrote:
> > > Joshua Roys submitted a patch in
> > > https://bugzilla.redhat.com/show_bug.cgi?id=726456 to add support for
> > > the Netscape password warning expiration control. I've made some
> > > modifications to his original patch to clean it up, so now I'm sending
> > > it to the list for further code-review.
> > > 
> > > Fixes https://fedorahosted.org/sssd/ticket/984
> > 
> > > +                if (response_controls[c]->ldctl_value.bv_len > 32)
> > > +                    continue;
> > > +                if (!state->ppolicy)
> > > +                    state->ppolicy = talloc(state, struct 
> > > sdap_ppolicy_data);
> > 
> > I would prefer to enclose even single-line statements (well, perhaps the
> > continue is OK as well as return <code> would be..). I've been hit
> > myself by adding a new statement after if without noticing there's no
> > brackets..
> > 
> 
> Yeah, I usually do the same. I forgot to change that from the
> originally-submitted patch. Fixed.
> 
> > > +                /* ensure that bv_val is a null-terminated string */
> > > +                nval = talloc_strndup(NULL,
> > > +                                      
> > > response_controls[c]->ldctl_value.bv_val,
> > > +                                      
> > > response_controls[c]->ldctl_value.bv_len);
> > > +                if (nval == NULL) {
> > > +                    ret = ENOMEM;
> > > +                    goto done;
> > > +                }
> > > +                state->ppolicy->expire = strtouint32(nval, NULL, 10);
> > > +                if (errno != 0) {
> > > +                    ret = errno;
> > > +                    DEBUG(SSSDBG_MINOR_FAILURE,
> > > +                          ("Could not convert control response to an 
> > > integer. ",
> > > +                           "[%s]\n", strerror(ret)));
> > 
> > nval should be freed here (or perhaps allocated on state..)
> > 
> 
> 
> Strictly speaking, it would have been freed in the done: label. I
> originally did that because I thought I was going to hang onto nval
> longer. Since I clearly do not need to, I rearranged that so that it's
> freed right after the conversion.
> 
> 
> I made one additional change. I realized that we were overloading 'ret'
> with both errno and ldap return values. I created a new variable 'lret'
> to differentiate them and avoid polluting the values.

Ack
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to