diff options
author | Andy Green <andy.green@linaro.org> | 2012-11-14 12:46:34 +0000 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-11-14 17:10:31 +0000 |
commit | 11f5b2e0c314f564ef68fa76bf019ef3efbba514 (patch) | |
tree | c83318cb786f64aa85a1aa028658d457bae7f413 | |
parent | c00e9a3917ed54b63270bdb817e4fdae9b72288d (diff) |
dont dereference null pointer args
Signed-off-by: Andy Green <andy.green@linaro.org>
-rw-r--r-- | fmb_player_apl/src/com/FmbComCore.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fmb_player_apl/src/com/FmbComCore.c b/fmb_player_apl/src/com/FmbComCore.c index 899a94c..505d243 100644 --- a/fmb_player_apl/src/com/FmbComCore.c +++ b/fmb_player_apl/src/com/FmbComCore.c @@ -211,7 +211,7 @@ enum SceResultEnum CoreCmdSendAudio(HANDLE sceHandle, unsigned long mute, unsign enum SceResultEnum CoreParamSetPtr(HANDLE sceHandle, unsigned long id, unsigned long valuep, unsigned long dummy) { unsigned long prm_id; - unsigned short prm_data; + unsigned short prm_data = 0; struct fmb_param_info param_info; int deviceFd; @@ -219,7 +219,8 @@ enum SceResultEnum CoreParamSetPtr(HANDLE sceHandle, unsigned long id, unsigned deviceFd = SceGetDevHandle(sceHandle); prm_id = id; - prm_data = (unsigned short)*(unsigned long*)valuep; + if (valuep) + prm_data = (unsigned short)*(unsigned long*)valuep; memset(¶m_info, 0, sizeof(struct fmb_param_info)); @@ -261,7 +262,10 @@ enum SceResultEnum CoreCmdSendSysPtr(HANDLE sceHandle, unsigned long cmd, unsign cmd_sys_info.id = (unsigned short)cmd; cmd_sys_info.sub_id = (unsigned short)subCmd; - cmd_sys_info.body = (unsigned short)*(unsigned long*)bodyp; + if (bodyp) + cmd_sys_info.body = (unsigned short)*(unsigned long*)bodyp; + else + cmd_sys_info.body = 0; LogFmbCmd("[cmd_send_sys]\tcmd\t0x%04x\tsub_cmd\t0x%04x\tbody\t0x%04x", cmd_sys_info.id, cmd_sys_info.sub_id, cmd_sys_info.body); |