summaryrefslogtreecommitdiffstats
path: root/src/gprs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gprs.c')
-rw-r--r--src/gprs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gprs.c b/src/gprs.c
index 9a7279ad..cdcf3367 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -40,6 +40,7 @@
#define GPRS_FLAG_ATTACHING 0x1
#define MAX_CONTEXT_NAME_LENGTH 127
+#define MAX_CONTEXTS 256
static GSList *g_drivers = NULL;
static GSList *g_context_drivers = NULL;
@@ -752,6 +753,9 @@ static DBusMessage *gprs_create_context(DBusConnection *conn,
if (type == GPRS_CONTEXT_TYPE_INVALID)
return __ofono_error_invalid_format(msg);
+ if (g_slist_length(gprs->contexts) >= MAX_CONTEXTS)
+ return __ofono_error_not_supported(msg);
+
context = pri_context_create(gprs);
if (!context) {