Change in libosmocore[master]: gsmtap_util: SNR can be negative, use a signed integer

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/.

laforge gerrit-no-reply at lists.osmocom.org
Mon Jan 4 21:34:36 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/21936 )

Change subject: gsmtap_util: SNR can be negative, use a signed integer
......................................................................

gsmtap_util: SNR can be negative, use a signed integer

In 'struct gsmtap_hdr' field 'snr_db' is defined as a signed integer,
however all functions that fill this structure accept an unsigned
integer.  This is wrong, because SNR can be negative.

Let's use 'int8_t' instead of 'uint8_t'.  Changing from unsigned
to signed should be relatively safe compared to the opposite.
Most of the callers I am aware of always do pass 0 anyway.

Change-Id: I9f432be5c346d563bf518111c14ff04d4a63f592
Related: SYS#5073
---
M include/osmocom/core/gsmtap_util.h
M src/gsmtap_util.c
2 files changed, 8 insertions(+), 8 deletions(-)

Approvals:
  pespin: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmocom/core/gsmtap_util.h b/include/osmocom/core/gsmtap_util.h
index 9b215be..e564326 100644
--- a/include/osmocom/core/gsmtap_util.h
+++ b/include/osmocom/core/gsmtap_util.h
@@ -17,11 +17,11 @@
 
 struct msgb *gsmtap_makemsg_ex(uint8_t type, uint16_t arfcn, uint8_t ts, uint8_t chan_type,
 			    uint8_t ss, uint32_t fn, int8_t signal_dbm,
-			    uint8_t snr, const uint8_t *data, unsigned int len);
+			    int8_t snr, const uint8_t *data, unsigned int len);
 
 struct msgb *gsmtap_makemsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type,
 			    uint8_t ss, uint32_t fn, int8_t signal_dbm,
-			    uint8_t snr, const uint8_t *data, unsigned int len);
+			    int8_t snr, const uint8_t *data, unsigned int len);
 
 /*! one gsmtap instance */
 struct gsmtap_inst {
@@ -51,12 +51,12 @@
 
 int gsmtap_send_ex(struct gsmtap_inst *gti, uint8_t type, uint16_t arfcn, uint8_t ts,
 		uint8_t chan_type, uint8_t ss, uint32_t fn,
-		int8_t signal_dbm, uint8_t snr, const uint8_t *data,
+		int8_t signal_dbm, int8_t snr, const uint8_t *data,
 		unsigned int len);
 
 int gsmtap_send(struct gsmtap_inst *gti, uint16_t arfcn, uint8_t ts,
 		uint8_t chan_type, uint8_t ss, uint32_t fn,
-		int8_t signal_dbm, uint8_t snr, const uint8_t *data,
+		int8_t signal_dbm, int8_t snr, const uint8_t *data,
 		unsigned int len);
 
 extern const struct value_string gsmtap_gsm_channel_names[];
diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c
index 9a0ac02..336e1d0 100644
--- a/src/gsmtap_util.c
+++ b/src/gsmtap_util.c
@@ -176,7 +176,7 @@
  */
 struct msgb *gsmtap_makemsg_ex(uint8_t type, uint16_t arfcn, uint8_t ts, uint8_t chan_type,
 			    uint8_t ss, uint32_t fn, int8_t signal_dbm,
-			    uint8_t snr, const uint8_t *data, unsigned int len)
+			    int8_t snr, const uint8_t *data, unsigned int len)
 {
 	struct msgb *msg;
 	struct gsmtap_hdr *gh;
@@ -223,7 +223,7 @@
  */
 struct msgb *gsmtap_makemsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type,
 			    uint8_t ss, uint32_t fn, int8_t signal_dbm,
-			    uint8_t snr, const uint8_t *data, unsigned int len)
+			    int8_t snr, const uint8_t *data, unsigned int len)
 {
 	return gsmtap_makemsg_ex(GSMTAP_TYPE_UM, arfcn, ts, chan_type,
 		ss, fn, signal_dbm, snr, data, len);
@@ -326,7 +326,7 @@
  */
 int gsmtap_send_ex(struct gsmtap_inst *gti, uint8_t type, uint16_t arfcn, uint8_t ts,
 		uint8_t chan_type, uint8_t ss, uint32_t fn,
-		int8_t signal_dbm, uint8_t snr, const uint8_t *data,
+		int8_t signal_dbm, int8_t snr, const uint8_t *data,
 		unsigned int len)
 {
 	struct msgb *msg;
@@ -351,7 +351,7 @@
  */
 int gsmtap_send(struct gsmtap_inst *gti, uint16_t arfcn, uint8_t ts,
 		uint8_t chan_type, uint8_t ss, uint32_t fn,
-		int8_t signal_dbm, uint8_t snr, const uint8_t *data,
+		int8_t signal_dbm, int8_t snr, const uint8_t *data,
 		unsigned int len)
 {
 	return gsmtap_send_ex(gti, GSMTAP_TYPE_UM, arfcn, ts, chan_type, ss, fn,

-- 
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21936
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I9f432be5c346d563bf518111c14ff04d4a63f592
Gerrit-Change-Number: 21936
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210104/f9502d8e/attachment.htm>


More information about the gerrit-log mailing list