Fix: Make sure we don't overflow the buffer
authorDenis Kenzior <denkenz@gmail.com>
Tue, 1 Dec 2009 22:05:20 +0000 (16:05 -0600)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 1 Dec 2009 22:05:20 +0000 (16:05 -0600)
drivers/hsomodem/gprs-context.c
drivers/mbmmodem/gprs-context.c

index b433bf1..4aa7970 100644 (file)
@@ -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)
index 778d3bf..f3f8926 100644 (file)
@@ -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)