summaryrefslogtreecommitdiff
path: root/liblangtag
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2013-07-19 16:59:32 +0200
committerEike Rathke <erack@redhat.com>2013-07-19 17:31:30 +0200
commit226ae6dfd00b748753804c11690089e4346b5eb2 (patch)
treed7bbbff9fe279c68af8eb41956accdeb0de210ba /liblangtag
parent3305fd648f9f17145620954e24ade4d4ea62d60f (diff)
return NULL instead of abort for C99 vsnprintf()<0
Change-Id: I450c2369fdd2327a0b565d6c111b2d03679bed3f
Diffstat (limited to 'liblangtag')
-rw-r--r--liblangtag/liblangtag-0.5.1-vsnprintf.patch24
1 files changed, 15 insertions, 9 deletions
diff --git a/liblangtag/liblangtag-0.5.1-vsnprintf.patch b/liblangtag/liblangtag-0.5.1-vsnprintf.patch
index 8ca5c6e7b3c4..599c47f9ae52 100644
--- a/liblangtag/liblangtag-0.5.1-vsnprintf.patch
+++ b/liblangtag/liblangtag-0.5.1-vsnprintf.patch
@@ -1,12 +1,18 @@
-diff -ru langtag.orig/liblangtag/lt-utils.c langtag/liblangtag/lt-utils.c
---- UnpackedTarball/langtag.orig/liblangtag/lt-utils.c 2013-04-22 10:06:57.000000000 +0200
-+++ UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-04-26 17:58:39.817351779 +0200
-@@ -168,6 +168,8 @@
- va_copy(ap, args);
-
- size = vsnprintf(&c, 1, format, ap) + 1;
-+ if (size == 0) // -1 + 1
-+ abort();
+diff -ru UnpackedTarball/orig.langtag/liblangtag/lt-utils.c UnpackedTarball/langtag/liblangtag/lt-utils.c
+--- UnpackedTarball/orig.langtag/liblangtag/lt-utils.c 2013-07-19 16:47:20.310734230 +0200
++++ UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-07-19 16:53:10.839914271 +0200
+@@ -173,9 +173,11 @@
va_end(ap);
+- retval = malloc(sizeof (char) * size);
+- if (retval) {
+- vsprintf(retval, format, args);
++ if (size > 0) {
++ retval = malloc(sizeof (char) * size);
++ if (retval) {
++ vsprintf(retval, format, args);
++ }
+ }
+ } LT_STMT_END;
+ #elif HAVE_VSNPRINTF