memory management fixes
byte long each, but the loc_set_config_entry() util call writes an int at a time, causing buffer overflow. #2, in loc_xtra-init(), a data structure wrap happened without iniializing the unused data fields. Change-Id: I96b40a330316927d276840a997082fe759263699 CRs-Fixed: 866937
This commit is contained in:
parent
95fbf27ce1
commit
a38a8b8477
2 changed files with 6 additions and 3 deletions
|
@ -805,7 +805,10 @@ SIDE EFFECTS
|
|||
static int loc_xtra_init(GpsXtraCallbacks* callbacks)
|
||||
{
|
||||
ENTRY_LOG();
|
||||
int ret_val = loc_eng_xtra_init(loc_afw_data, (GpsXtraExtCallbacks*)callbacks);
|
||||
GpsXtraExtCallbacks extCallbacks;
|
||||
memset(&extCallbacks, 0, sizeof(extCallbacks));
|
||||
extCallbacks.download_request_cb = callbacks->download_request_cb;
|
||||
int ret_val = loc_eng_xtra_init(loc_afw_data, &extCallbacks);
|
||||
|
||||
EXIT_LOG(%d, ret_val);
|
||||
return ret_val;
|
||||
|
|
|
@ -52,8 +52,8 @@
|
|||
*============================================================================*/
|
||||
|
||||
/* Parameter data */
|
||||
static uint8_t DEBUG_LEVEL = 0xff;
|
||||
static uint8_t TIMESTAMP = 0;
|
||||
static uint32_t DEBUG_LEVEL = 0xff;
|
||||
static uint32_t TIMESTAMP = 0;
|
||||
|
||||
/* Parameter spec table */
|
||||
static loc_param_s_type loc_param_table[] =
|
||||
|
|
Loading…
Reference in a new issue