summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-11-02 11:31:29 -0600
committerDenis Kenzior <denkenz@gmail.com>2009-11-02 16:02:09 -0600
commit3c702b4d99346ac940516b889bf1a154b22a4657 (patch)
tree5285ee0324bbb7cb64889e21c4924d7bdfd92c84 /src
parent708f7481b0669bb5989d2690bb682ab45b971054 (diff)
downloadofono-3c702b4d99346ac940516b889bf1a154b22a4657.tar.bz2
Limit the number of contexts that we manage
Diffstat (limited to 'src')
-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) {