Package: fso-gsmd
Version: 0.5.0+git20110916-1
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch precise

There are some missing prototypes in fso-gsmd for functions returning
pointers.  This causes GCC to assume a prototype returning int, which
can cause problems on architectures such as amd64 where the sizes of int
and pointer aren't equal, because it ends up throwing away the top half
of the pointer.  On Ubuntu amd64 we force this to cause a build failure
because it can produce runtime errors that are otherwise hard to track
down:

  
https://launchpadlibrarian.net/84918694/buildlog_ubuntu-precise-amd64.fso-gsmd_0.5.0%2Bgit20110916-1_FAILEDTOBUILD.txt.gz

The following patch syncs up the prototypes in conversions.h with the
definitions in conversions.c to fix this bug.

  * Add some missing prototypes to src/3rdparty/conversions.h.

diff -Nru fso-gsmd-0.5.0+git20110916/debian/patches/missing-prototypes.patch 
fso-gsmd-0.5.0+git20110916/debian/patches/missing-prototypes.patch
--- fso-gsmd-0.5.0+git20110916/debian/patches/missing-prototypes.patch  
1970-01-01 01:00:00.000000000 +0100
+++ fso-gsmd-0.5.0+git20110916/debian/patches/missing-prototypes.patch  
2011-11-11 15:32:20.000000000 +0000
@@ -0,0 +1,27 @@
+Description: Add some necessary prototypes to conversions.h
+Author: Colin Watson <cjwat...@ubuntu.com>
+Forwarded: no
+Last-Update: 2011-11-11
+
+Index: b/src/3rdparty/conversions.h
+===================================================================
+--- a/src/3rdparty/conversions.h
++++ b/src/3rdparty/conversions.h
+@@ -1,12 +1,17 @@
+ #ifndef CONVERSIONS_H
+ #define CONVERSIONS_H
+ 
++char *utf8_to_ucs2(const char* str);
++char *utf8_to_gsm(const char* str);
+ char *gsm_to_utf8(const char* str);
+ char *ucs2_to_utf8(const char *str);
+ typedef struct sms structsms;
++void sms_copy(void* self, void* dup);
+ struct sms* sms_new();
+ void sms_free(struct sms* self);
+ long sms_size();
++struct cbs* cbs_new();
++void cbs_free(struct cb* self);
+ 
+ #endif /* CONVERSIONS_H */
+ 
diff -Nru fso-gsmd-0.5.0+git20110916/debian/patches/series 
fso-gsmd-0.5.0+git20110916/debian/patches/series
--- fso-gsmd-0.5.0+git20110916/debian/patches/series    2011-10-30 
16:52:10.000000000 +0000
+++ fso-gsmd-0.5.0+git20110916/debian/patches/series    2011-11-11 
15:27:13.000000000 +0000
@@ -4,3 +4,4 @@
 remove-fsogsm.h.patch
 sms-storage-dir.patch
 fix-pkglibdir.patch
+missing-prototypes.patch

Thanks,

-- 
Colin Watson                                       [cjwat...@ubuntu.com]



_______________________________________________
pkg-fso-maint mailing list
pkg-fso-maint@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-fso-maint

Reply via email to