aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Green <andy.green@linaro.org>2012-11-14 12:46:34 +0000
committerAndy Green <andy.green@linaro.org>2012-11-14 17:10:31 +0000
commit11f5b2e0c314f564ef68fa76bf019ef3efbba514 (patch)
treec83318cb786f64aa85a1aa028658d457bae7f413
parentc00e9a3917ed54b63270bdb817e4fdae9b72288d (diff)
dont dereference null pointer args
Signed-off-by: Andy Green <andy.green@linaro.org>
-rw-r--r--fmb_player_apl/src/com/FmbComCore.c10
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(&param_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);