diff
<     gsm->buf[gsm->count++] = c;
<     if (gsm->count == gsm->len)
---
>     if (gsm->count < GSM_BUFFER_SIZE) {
>         gsm->buf[gsm->count++] = c;
>     } else {
>         // Handle error: buffer overflow
>     }
>     if (gsm->count == gsm->len)
