Fix Out of bounds compilation warning in OCTET8

The code in OCTET8 implementation assumes the len is placed inside the
byte preceding the memory buffer, which is true for the defined cases.
However, it creates a compilation warning. Better pass the value
directly from the struct field rather than playing addr games. this way
we also assert we require to explicitly pass the len.

Fixes lots of warning like the one below:
/home/pespin/dev/sysmocom/bin/../git/libsmpp34/src/smpp34_unpack.c: In function ‘smpp34_u
npack’:
/home/pespin/dev/sysmocom/bin/../git/libsmpp34/src/smpp34_unpack.c:147:14: warning: array
 subscript is above array bounds [-Warray-bounds]
     lenval = *((inst par) - 1);\
              ^~~~~~~~~~~~~~~~~
/home/pespin/dev/sysmocom/bin/../git/libsmpp34/def_frame/submit_sm.frame:18:2: note: in e
xpansion of macro ‘OCTET8’
  OCTET8( instancia, short_message, 254 );
  ^~~~~~

Change-Id: Id110f4e977c3becdb44cf5492c372e530ea51551
8 files changed
tree: 6acea50848b0513d2ccaff3a92a835fac055e859
  1. binaries/
  2. contrib/
  3. debian/
  4. def_frame/
  5. def_list/
  6. src/
  7. test_apps/
  8. test_pdu/
  9. .gitignore
  10. .gitreview
  11. AUTHORS
  12. ChangeLog
  13. configure.ac
  14. COPYING
  15. git-version-gen
  16. libsmpp34.pc.in
  17. Makefile.am
  18. NEWS
  19. README.md
  20. TODO-RELEASE
README.md

libsmpp34 - C library for SMPP 3.4

This repository contains a C-language library implementing the SMPP Protocol version 3.4 as specified by the SMPP Developers Forum.

The library was inherited from the c-open-smmp34 project, which unfortunately doesn't have any form of revision control system and hence the Osmocom Open Source Mobile Communications project has imported the v1.10 release into this git repository and performed subsequent improvements.

Homepage

The official homepage of the Osmocom version of the library is http://osmocom.org/projects/libsmpp34 while the original upstream project is found at https://sourceforge.net/projects/c-open-smpp-34/

GIT Repository

You can clone from the Osmocom libsmpp34.git repository using

git clone git://git.osmocom.org/libsmpp34.git

There is a cgit interface at http://git.osmocom.org/libsmpp34/

Documentation

API documentation is generated during the build process, but also available online from the upstream project at http://c-open-smpp-34.sourceforge.net/out-1.10/web/c-open-libsmpp34_en/index.html

Mailing List

Discussions related to libsmpp34 are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for libosmocore can be seen at https://gerrit.osmocom.org/#/q/project:libsmpp34+status:open