diff options
author | joerg <joerg> | 2014-11-14 22:23:40 +0000 |
---|---|---|
committer | joerg <joerg> | 2014-11-14 22:23:40 +0000 |
commit | 5c292da83e7eff834e5c5e29e257f1b50dcd77f7 (patch) | |
tree | 1413ad36c6b7c14a31f5f66d6483f9f78a135019 /misc | |
parent | 95a24e68fd23f6a8172c7301d7e576379b492e02 (diff) | |
download | pkgsrc-5c292da83e7eff834e5c5e29e257f1b50dcd77f7.tar.gz |
Passing non-POD types to variadic function is still UB.
Diffstat (limited to 'misc')
-rw-r--r-- | misc/kdepimlibs4/distinfo | 5 | ||||
-rw-r--r-- | misc/kdepimlibs4/patches/patch-kldap_ber.cpp | 46 | ||||
-rw-r--r-- | misc/kdepimlibs4/patches/patch-kldap_ber.h | 25 | ||||
-rw-r--r-- | misc/kdepimlibs4/patches/patch-kldap_ldapcontrol.cpp | 22 |
4 files changed, 97 insertions, 1 deletions
diff --git a/misc/kdepimlibs4/distinfo b/misc/kdepimlibs4/distinfo index 5ff41a6d290..458b380dd10 100644 --- a/misc/kdepimlibs4/distinfo +++ b/misc/kdepimlibs4/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.30 2014/11/13 19:19:06 markd Exp $ +$NetBSD: distinfo,v 1.31 2014/11/14 22:23:40 joerg Exp $ SHA1 (kdepimlibs-4.14.3.tar.xz) = bbfff3ea5775bfb0f1692828c679e549deaf4fb3 RMD160 (kdepimlibs-4.14.3.tar.xz) = 95af39ad4848fe48efbd4e3be8b4b0767530ec60 @@ -6,5 +6,8 @@ Size (kdepimlibs-4.14.3.tar.xz) = 2790888 bytes SHA1 (patch-gpgmexx_config-gpgmexx.h.cmake) = bd8fd1e9a619d6bd52185f37adb5dc7f7b97423c SHA1 (patch-kblog_CMakeLists.txt) = b03068672c39492ef4883125c65f7951c7cc8f01 SHA1 (patch-kimap_loginjob.cpp) = 8a0fe3c1779b981d9c9ca6cb34121219f2f97c9f +SHA1 (patch-kldap_ber.cpp) = 8f2cf67ee39f744b2114b6cba503f9bcdb2efacc +SHA1 (patch-kldap_ber.h) = 19162970d42a50f30bc62c4d23b2fa3e8d57322a +SHA1 (patch-kldap_ldapcontrol.cpp) = 88be1a0ff3e8de7e68ee786c05989603c9628ed2 SHA1 (patch-kpimidentities_identity.cpp) = 5a7d7e0c8edb7d2855c0e18bb6e9c596efbfe615 SHA1 (patch-qgpgme_CMakeLists.txt) = 0860963f371a008f1d006dad58ea40329c358cfd diff --git a/misc/kdepimlibs4/patches/patch-kldap_ber.cpp b/misc/kdepimlibs4/patches/patch-kldap_ber.cpp new file mode 100644 index 00000000000..cba1148d27e --- /dev/null +++ b/misc/kdepimlibs4/patches/patch-kldap_ber.cpp @@ -0,0 +1,46 @@ +$NetBSD: patch-kldap_ber.cpp,v 1.4 2014/11/14 22:23:40 joerg Exp $ + +Fix building with Clang. + +--- kldap/ber.cpp.orig 2014-11-14 14:44:22.000000000 +0000 ++++ kldap/ber.cpp +@@ -124,7 +124,7 @@ QByteArray Ber::flatten() const + return ret; + } + +-int Ber::printf( const QString &format, ... ) ++int Ber::printf( const char *format, ... ) + { + char fmt[2]; + va_list args; +@@ -132,8 +132,8 @@ int Ber::printf( const QString &format, + fmt[1] = '\0'; + + int i = 0, ret = 0; +- while ( i < format.length() ) { +- fmt[0] = format[i].toLatin1(); ++ while ( format[i] ) { ++ fmt[0] = format[i]; + i++; + switch ( fmt[0] ) { + case 'b': +@@ -229,7 +229,7 @@ int Ber::printf( const QString &format, + return ret; + } + +-int Ber::scanf( const QString &format, ... ) ++int Ber::scanf( const char *format, ... ) + { + char fmt[2]; + va_list args; +@@ -237,8 +237,8 @@ int Ber::scanf( const QString &format, . + fmt[1] = '\0'; + + int i = 0, ret = 0; +- while ( i < format.length() ) { +- fmt[0] = format[i].toLatin1(); ++ while ( format[i] ) { ++ fmt[0] = format[i]; + i++; + switch ( fmt[0] ) { + case 'l': diff --git a/misc/kdepimlibs4/patches/patch-kldap_ber.h b/misc/kdepimlibs4/patches/patch-kldap_ber.h new file mode 100644 index 00000000000..d5707c600ec --- /dev/null +++ b/misc/kdepimlibs4/patches/patch-kldap_ber.h @@ -0,0 +1,25 @@ +$NetBSD: patch-kldap_ber.h,v 1.3 2014/11/14 22:23:40 joerg Exp $ + +--- kldap/ber.h.orig 2014-11-04 21:19:27.000000000 +0000 ++++ kldap/ber.h +@@ -57,7 +57,8 @@ class KLDAP_EXPORT Ber + + /** + * Appends the data with the specified format to the Ber object. +- * This function works like printf, except that it's appending the ++ * This function works like ++ printf, except that it's appending the + * parameters, not replacing them. The allowed format characters and + * the expected parameter types are: + * <ul> +@@ -114,8 +115,8 @@ class KLDAP_EXPORT Ber + * </li> + * </ul> + */ +- int printf( const QString &format, ... ); +- int scanf( const QString &format, ... ); ++ int printf( const char *format, ... ); ++ int scanf( const char *format, ... ); + unsigned int peekTag( int &size ); + unsigned int skipTag( int &size ); + diff --git a/misc/kdepimlibs4/patches/patch-kldap_ldapcontrol.cpp b/misc/kdepimlibs4/patches/patch-kldap_ldapcontrol.cpp new file mode 100644 index 00000000000..9e745f47a52 --- /dev/null +++ b/misc/kdepimlibs4/patches/patch-kldap_ldapcontrol.cpp @@ -0,0 +1,22 @@ +$NetBSD: patch-kldap_ldapcontrol.cpp,v 1.1 2014/11/14 22:23:40 joerg Exp $ + +--- kldap/ldapcontrol.cpp.orig 2014-11-14 15:54:02.000000000 +0000 ++++ kldap/ldapcontrol.cpp +@@ -124,7 +124,7 @@ int LdapControl::parsePageControl( QByte + + Ber ber( d->mValue ); + int size; +- if ( ber.scanf( QLatin1String("{iO}"), &size, &cookie ) == -1 ) { ++ if ( ber.scanf( "{iO}", &size, &cookie ) == -1 ) { + return -1; + } else { + return size; +@@ -136,7 +136,7 @@ LdapControl LdapControl::createPageContr + LdapControl control; + Ber ber; + +- ber.printf( QLatin1String("{iO}"), pagesize, &cookie ); ++ ber.printf( "{iO}", pagesize, &cookie ); + control.setOid( QLatin1String("1.2.840.113556.1.4.319") ); + control.setValue( ber.flatten() ); + return control; |