[openrtm-users 03156] Re: SystemLogger.cppのsetName()

Fumio KANEHIRO f-kanehiro @ aist.go.jp
2015年 3月 18日 (水) 00:30:52 JST


金広@産総研です。

失礼しました。
m_nameの型はstd::stringなので問題ないですね。


2015-03-17 21:23 GMT+09:00 Fumio KANEHIRO <f-kanehiro @ aist.go.jp>:

> 皆様、
>
> 金広@産総研です。
>
> RTCのsetInstanceName()を呼ぶと、SystemLogger.cppにある、以下のメンバ
> 関数が呼ばれます。
>
>   void Logger::setName(const char* name)
>
>   {
>
>     m_name = name;
>
>   }
>
>
> ここでは文字列へのポインタをコピーしているだけなので、これを知らずに一時
> 変数を渡したりしているとm_nameを読みに行った瞬間にseg. faultしたりします。
> こういった場合strdupなどしておくのが良いのではないかと思いますが、
> いかがでしょうか。
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-users/attachments/20150318/78f88eaf/attachment.html>


More information about the openrtm-users mailing list