diff options
| author | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-06-23 17:30:07 +0300 |
|---|---|---|
| committer | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-06-23 17:36:34 +0300 |
| commit | 4deb615d7bd7134dd15686b9ea4239f73e20009e (patch) | |
| tree | a6ac6a23cb102a0961514b6972bbd943ffabeb13 | |
| parent | 8b781b94500f8d4144c9d5e8559605cbe69545dd (diff) | |
| download | accel-ppp-4deb615d7bd7134dd15686b9ea4239f73e20009e.tar.gz accel-ppp-4deb615d7bd7134dd15686b9ea4239f73e20009e.zip | |
pppoe: handle missing service-name tag
| -rw-r--r-- | accel-pppd/ctrl/pppoe/pppoe.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/accel-pppd/ctrl/pppoe/pppoe.c b/accel-pppd/ctrl/pppoe/pppoe.c index 93824af5..f733770c 100644 --- a/accel-pppd/ctrl/pppoe/pppoe.c +++ b/accel-pppd/ctrl/pppoe/pppoe.c @@ -298,9 +298,15 @@ static void pppoe_conn_ctx_switch(struct triton_context_t *ctx, void *arg) static struct pppoe_conn_t *allocate_channel(struct pppoe_serv_t *serv, const uint8_t *addr, const struct pppoe_tag *host_uniq, const struct pppoe_tag *relay_sid, const struct pppoe_tag *service_name, const struct pppoe_tag *tr101, const uint8_t *cookie, uint16_t ppp_max_payload) { + struct pppoe_tag empty_service_name = { + .tag_type = htons(TAG_SERVICE_NAME), + }; struct pppoe_conn_t *conn; unsigned long *old_sid_ptr; + if (!service_name) + service_name = &empty_service_name; + conn = mempool_alloc(conn_pool); if (!conn) { log_error("pppoe: out of memory\n"); |
