Merge "GPS: unify buffer size passed to retrieve string with loc cfg"

This commit is contained in:
Linux Build Service Account 2018-08-31 19:02:14 -07:00 committed by Gerrit - the friendly Code Review server
commit 4c35d8ab49
4 changed files with 14 additions and 20 deletions

View file

@ -36,9 +36,6 @@
#include <LBSProxyBase.h>
#include <loc_cfg.h>
#define MAX_XTRA_SERVER_URL_LENGTH (256)
#define MAX_SUPL_SERVER_URL_LENGTH (256)
/* GPS.conf support */
/* NOTE: the implementaiton of the parser casts number
fields to 32 bit. To ensure all 'n' fields working,
@ -53,9 +50,9 @@ typedef struct loc_gps_cfg_s
uint32_t CAPABILITIES;
uint32_t LPP_PROFILE;
uint32_t XTRA_VERSION_CHECK;
char XTRA_SERVER_1[MAX_XTRA_SERVER_URL_LENGTH];
char XTRA_SERVER_2[MAX_XTRA_SERVER_URL_LENGTH];
char XTRA_SERVER_3[MAX_XTRA_SERVER_URL_LENGTH];
char XTRA_SERVER_1[LOC_MAX_PARAM_STRING];
char XTRA_SERVER_2[LOC_MAX_PARAM_STRING];
char XTRA_SERVER_3[LOC_MAX_PARAM_STRING];
uint32_t USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL;
uint32_t NMEA_PROVIDER;
uint32_t GPS_LOCK;
@ -65,10 +62,10 @@ typedef struct loc_gps_cfg_s
uint32_t LPPE_CP_TECHNOLOGY;
uint32_t LPPE_UP_TECHNOLOGY;
uint32_t EXTERNAL_DR_ENABLED;
char SUPL_HOST[MAX_SUPL_SERVER_URL_LENGTH];
char SUPL_HOST[LOC_MAX_PARAM_STRING];
uint32_t SUPL_PORT;
uint32_t MODEM_TYPE;
char MO_SUPL_HOST[MAX_SUPL_SERVER_URL_LENGTH];
char MO_SUPL_HOST[LOC_MAX_PARAM_STRING];
uint32_t MO_SUPL_PORT;
} loc_gps_cfg_s_type;

View file

@ -629,10 +629,7 @@ GnssAdapter::setSuplHostServer(const char* server, int port, LocServerType type)
url.assign(serverUrl);
if (LOC_AGPS_SUPL_SERVER == type) {
int nCharsToCopy = strlen(server) < MAX_SUPL_SERVER_URL_LENGTH ?
strlen(server) : (MAX_SUPL_SERVER_URL_LENGTH - 1);
strlcpy(ContextBase::mGps_conf.SUPL_HOST, server, nCharsToCopy);
ContextBase::mGps_conf.SUPL_HOST[nCharsToCopy] = '\0';
strlcpy(ContextBase::mGps_conf.SUPL_HOST, server, LOC_MAX_PARAM_STRING);
ContextBase::mGps_conf.SUPL_PORT = port;
}

View file

@ -141,7 +141,7 @@ int loc_set_config_entry(const loc_param_s_type* config_entry, loc_param_v_type*
else {
strlcpy((char*) config_entry->param_ptr,
config_value->param_str_value,
LOC_MAX_PARAM_STRING + 1);
LOC_MAX_PARAM_STRING);
}
/* Log INI values */
LOC_LOGD("%s: PARAM %s = %s", __FUNCTION__,

View file

@ -37,7 +37,7 @@
#include <grp.h>
#define LOC_MAX_PARAM_NAME 80
#define LOC_MAX_PARAM_STRING 170
#define LOC_MAX_PARAM_STRING 172
#define LOC_MAX_PARAM_LINE (LOC_MAX_PARAM_NAME + LOC_MAX_PARAM_STRING)
#define LOC_FEATURE_MODE_DISABLED "DISABLED"
@ -73,10 +73,10 @@
typedef struct
{
const char *param_name;
void *param_ptr;
void *param_ptr; /* for string type, buf size need to be LOC_MAX_PARAM_STRING */
uint8_t *param_set; /* indicate value set by config file */
char param_type; /* 'n' for number,
's' for string,
's' for string, NOTE: buf size need to be LOC_MAX_PARAM_STRING
'f' for double */
} loc_param_s_type;