From 184eb91aa63f85ccb5df02e1d41cae1a5c8e67db Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 1 Dec 2009 16:05:20 -0600 Subject: [PATCH] Fix: Make sure we don't overflow the buffer --- drivers/hsomodem/gprs-context.c | 5 ++++- drivers/mbmmodem/gprs-context.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/hsomodem/gprs-context.c b/drivers/hsomodem/gprs-context.c index b433bf1..4aa7970 100644 --- a/drivers/hsomodem/gprs-context.c +++ b/drivers/hsomodem/gprs-context.c @@ -44,6 +44,9 @@ #define HSO_CONNECTING 2 #define HSO_FAILED 3 +#define AUTH_BUF_LENGTH OFONO_GPRS_MAX_USERNAME_LENGTH + \ + OFONO_GPRS_MAX_PASSWORD_LENGTH + 128 + static const char *none_prefix[] = { NULL }; static const char *owandata_prefix[] = { "_OWANDATA:", NULL }; @@ -151,7 +154,7 @@ static void hso_gprs_activate_primary(struct ofono_gprs_context *gc, { struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); struct cb_data *cbd = cb_data_new(cb, data); - char buf[OFONO_GPRS_MAX_APN_LENGTH + 128]; + char buf[AUTH_BUF_LENGTH]; int len; if (!cbd) diff --git a/drivers/mbmmodem/gprs-context.c b/drivers/mbmmodem/gprs-context.c index 778d3bf..f3f8926 100644 --- a/drivers/mbmmodem/gprs-context.c +++ b/drivers/mbmmodem/gprs-context.c @@ -43,6 +43,9 @@ #define MBM_E2NAP_CONNECTED 1 #define MBM_E2NAP_CONNECTING 2 +#define AUTH_BUF_LENGTH OFONO_GPRS_MAX_USERNAME_LENGTH + \ + OFONO_GPRS_MAX_PASSWORD_LENGTH + 128 + static const char *none_prefix[] = { NULL }; struct gprs_context_data { @@ -132,7 +135,7 @@ static void mbm_gprs_activate_primary(struct ofono_gprs_context *gc, { struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); struct cb_data *cbd = cb_data_new(cb, data); - char buf[OFONO_GPRS_MAX_APN_LENGTH + 128]; + char buf[AUTH_BUF_LENGTH]; int len; if (!cbd) -- 2.7.4