This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/MSP432E411Y:SlNetIf_getIDByName()中断

Guru**** 2609895 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/658557/rtos-msp432e411y-slnetif_getidbyname-broken

部件号:MSP432E411Y

工具/软件:TI-RTOS

我不知道这是否是正确的论坛,但找不到更好的论坛。

在SimpleLink MSP432E SDK 1.60 中,SlNetIf_getIDByName()函数被破坏。

签名采用非const char *。  在内部,将根据传入参数的地址进行检查,而不是通过字符串比较进行检查。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    
    

    Jaakko您好!

    我想您指的是在实施SlNetIf_getIDByName API时所做的以下检查。

    /*检查ifName是否为有效输入 */
    IF (NULL == ifName)
    {
    返回SLNETERR_RET_CODE_INVALID_INPUT;
    }
    

    此检查是为了确保没有将Null指针传递到API。 根据这些信息,我认为此API的实施符合预期。

    谢谢!

    SAI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    否,但稍后会检查(((ifNode->netif).ifName == ifName,它应该是strcmp()。 此外,函数签名采用非const char *,防止在字符串文字中传递。

    IIRC,但我认为在这两种情况下都不可能传递匹配的ifName地址! (除非存储了从堆栈获取的确切字符串地址。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我明白你在这里指的是什么。 这很可能是一个错误。 我会将此事告知相关团队。

    感谢您指出!

    此致,
    SAI