libosmo-netif[master]: osmux: Re-write osmux_snprintf

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Mon Sep 4 16:12:51 UTC 2017


Patch Set 3:

(1 comment)

https://gerrit.osmocom.org/#/c/3537/3/src/osmux.c
File src/osmux.c:

Line 918: 		SNPRINTF_BUFFER_SIZE(ret, buf_offset, size);
> I'm telling this because I suspect this is papering a problem somewhere els
Are you asking about this exact "No room for OSMUX payload" error case?

It's not about a buffer being full, it's about extra validation to assert we don't read out of bounds by checking contents of the packet were not truncated, ie. osmux_get_payload_len says there should be 35 bytes, but packet only contains 30 bytes more. Thus, we read 4 bytes out of the buffer.

In case you referer to why we may return in the SNPRINTF_BUFFER_SIZE() above:
- In a general case, if the buffer is too small.
- In this specific case (osmux_test calling osmux_snprintf): Initially the buffer was 2048, and I changed it to 4096 because I was seeing the buffer overflows (initial crash). Then, AMR payload may be a few bytes, but its representation using ASCII + spacing + other stuff can grow bigger. Then in one osmux frame, you can have 8 of those. And again multiply that by the amount of osmux frames in one UDP packet.


-- 
To view, visit https://gerrit.osmocom.org/3537
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I695771d099833842db37a415b636035d17f1bba7
Gerrit-PatchSet: 3
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Pablo Neira Ayuso <pablo at gnumonks.org>
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-HasComments: Yes



More information about the gerrit-log mailing list