13 years C/C++/C# programing, focus on embedded and mobile device development.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在文件kernel/sound/soc/soc-core.c中,函数soc_bind_dai_link引入了一个新定义的宏CODEC_NAME_CMP,这个新玩意导致了后面的strcpy(p_codec_name,codec->name);可能出现NULL pointer,原因是p_codec_name可能会被后面的strsep(&p_codec_name,".")修改。改正的方法很简单,在strcpy之前重复初始化一次就OK了:

#ifdef CODEC_NAME_CMP
        p_codec_name = tmp_codec_name;
        p_dai_codec_name = tmp_dai_codec_name;
        strcpy(p_codec_name,codec->name);
        strcpy(p_dai_codec_name,dai_link->codec_name);        
#endif

posted on 2013-07-04 23:47  woaiusd  阅读(778)  评论(0编辑  收藏  举报