Hi zoran,

Reviewed and tested the 4.5.x, default.
Ack with following comment:

The if condition must be negated, otherwise cluster will not come up:


+               if(! osaf_is_extended_name_valid(rootName)) {
+                       rc = SA_AIS_ERR_INVALID_PARAM;

Reviewed the 4.3.x and 4.4.x patch.
ACK.


/Neel.

On Monday 29 September 2014 07:22 PM, Zoran Milinkovic wrote:
>
>   * *status*: accepted --> fixed
>   * *Comment*:
>
> opensaf-4.3.x and opensaf-4.4.x:
> https://sourceforge.net/p/opensaf/mailman/message/32879190/ 
> <https://sourceforge.net/p/opensaf/mailman/message/32879190>
>
> opensaf-4.5.x and default(4.6):
> https://sourceforge.net/p/opensaf/mailman/message/32879192/ 
> <https://sourceforge.net/p/opensaf/mailman/message/32879192>
>
> ------------------------------------------------------------------------
>
> *[tickets:#1135] <http://sourceforge.net/p/opensaf/tickets/1135> Imm: 
> Missing validity check on 'objectName' in saImmOmSearchInitialize*
>
> *Status:* fixed
> *Milestone:* 4.3.3
> *Created:* Thu Sep 25, 2014 08:20 AM UTC by Anders Bjornerstedt
> *Last Updated:* Mon Sep 29, 2014 08:29 AM UTC
> *Owner:* Zoran Milinkovic
>
> If one compares saImmOmSearchInitialize with saImmOmAccessorGet one 
> can see
> this check in accessorGet (4.4 version of the code):
>
> if  ((objectName  ==  NULL)  ||  (objectName->length  ==  0)  ||
>       (objectName->length  >=  SA_MAX_NAME_LENGTH))  {
>      TRACE_2("ERR_INVALID_PARAM: Incorrect parameter contents: objectName");
>      TRACE_LEAVE();
>      return  SA_AIS_ERR_INVALID_PARAM;
> }
>
> But no corresponding check on 'rootName' in the searchInitialize code.
> The check can not be identical, because the 'rootName' argument in
> searchInitialize can be NULL if the search is to be global.
> But if rootName is not NULL then a corresponding check must be done.
> In addition, if rootName is not NULL, we must allow the case of the
> root being empty (rootName->length == 0).
> For backwards compatibility we also have to allow the case:
>
> ((rootName->length !=0) && strnlen(rootName->value, rootName->length)==0)
>
> The check that rootName->lenght is within bounds is here assumed to have
> been done earlier.
>
> This bug has apparently always been there. It has nothing to do with 4.5
> or long-names etc, but it will impact code that is long-name addapted 
> in 4.5.
>
> ------------------------------------------------------------------------
>
> Sent from sourceforge.net because 
> opensaf-tickets@lists.sourceforge.net is subscribed to 
> https://sourceforge.net/p/opensaf/tickets/ 
> <https://sourceforge.net/p/opensaf/tickets>
>
> To unsubscribe from further messages, a project admin can change 
> settings at https://sourceforge.net/p/opensaf/admin/tickets/options. 
> Or, if this is a mailing list, you can unsubscribe from the mailing list.
>
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.  Videos for Nerds.  Stuff that Matters.
> http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
>
>
> _______________________________________________
> Opensaf-tickets mailing list
> Opensaf-tickets@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensaf-tickets




---

** [tickets:#1135] Imm: Missing validity check on 'objectName' in 
saImmOmSearchInitialize**

**Status:** review
**Milestone:** 4.3.3
**Created:** Thu Sep 25, 2014 08:20 AM UTC by Anders Bjornerstedt
**Last Updated:** Mon Sep 29, 2014 01:52 PM UTC
**Owner:** Zoran Milinkovic

If one compares saImmOmSearchInitialize with saImmOmAccessorGet one can see
this check in accessorGet (4.4 version of the code):

        if ((objectName == NULL) || (objectName->length == 0) ||
         (objectName->length >= SA_MAX_NAME_LENGTH)) {
                TRACE_2("ERR_INVALID_PARAM: Incorrect parameter contents: 
objectName");
                TRACE_LEAVE();
                return SA_AIS_ERR_INVALID_PARAM;
        }

But no corresponding check on 'rootName' in the searchInitialize code.
The check can not be identical, because the 'rootName' argument in 
searchInitialize can be NULL if the search is to be global. 
But if rootName is not NULL then a corresponding check must be done.
In addition, if rootName is not NULL, we must allow the case of the 
root being empty (rootName->length == 0).
For backwards compatibility we also have to allow the case: 

 ((rootName->length !=0) && strnlen(rootName->value, rootName->length)==0)

The check that rootName->lenght is within bounds is here assumed to have 
been done earlier.

This bug has apparently always been there. It has nothing to do with 4.5
or long-names etc, but it will impact code that is long-name addapted in 4.5.




---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is 
subscribed to http://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
http://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Slashdot TV.  Videos for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to