summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Mrozowski <reavertm@gentoo.org>2010-06-05 02:30:04 +0000
committerMaciej Mrozowski <reavertm@gentoo.org>2010-06-05 02:30:04 +0000
commitdcdf0da36054d8efe6a71c1638d766b8d6979d78 (patch)
treef5d46b86c0678b1cafa2f02bb85581f2a15f0907 /net-libs
parentapp-portage/layman: Remove ebuild for 1.1.1 (bug #322789) (diff)
downloadhistorical-dcdf0da36054d8efe6a71c1638d766b8d6979d78.tar.gz
historical-dcdf0da36054d8efe6a71c1638d766b8d6979d78.tar.bz2
historical-dcdf0da36054d8efe6a71c1638d766b8d6979d78.zip
Add patch from mailing list to fix memory leak on receiving messages.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/libgadu/ChangeLog8
-rw-r--r--net-libs/libgadu/Manifest5
-rw-r--r--net-libs/libgadu/files/libgadu-1.9.0-memleak.patch42
-rw-r--r--net-libs/libgadu/libgadu-1.9.0-r1.ebuild (renamed from net-libs/libgadu/libgadu-1.9.0.ebuild)11
4 files changed, 58 insertions, 8 deletions
diff --git a/net-libs/libgadu/ChangeLog b/net-libs/libgadu/ChangeLog
index 95f8d1b73736..44c81aaaa3aa 100644
--- a/net-libs/libgadu/ChangeLog
+++ b/net-libs/libgadu/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-libs/libgadu
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libgadu/ChangeLog,v 1.38 2010/05/26 00:03:40 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libgadu/ChangeLog,v 1.39 2010/06/05 02:30:03 reavertm Exp $
+
+*libgadu-1.9.0-r1 (05 Jun 2010)
+
+ 05 Jun 2010; Maciej Mrozowski <reavertm@gentoo.org> -libgadu-1.9.0.ebuild,
+ +libgadu-1.9.0-r1.ebuild, +files/libgadu-1.9.0-memleak.patch:
+ Add patch from mailing list to fix memory leak on receiving messages.
25 May 2010; Maciej Mrozowski <reavertm@gentoo.org> libgadu-1.9.0.ebuild:
Make it POSIX compliant, remove some redundant code
diff --git a/net-libs/libgadu/Manifest b/net-libs/libgadu/Manifest
index 00f17990972f..fe10da09824b 100644
--- a/net-libs/libgadu/Manifest
+++ b/net-libs/libgadu/Manifest
@@ -1,6 +1,7 @@
+AUX libgadu-1.9.0-memleak.patch 1205 RMD160 2aab98ca3daab357460921baecf909ffd7d54ae2 SHA1 890f01e3be282e14c9ab6912e628640318b45847 SHA256 20c41f3f5d98ac5e44e205cb9e5857b15f5353a52f2952b3ebfdc76748c1aaf7
DIST libgadu-1.8.2.tar.gz 410667 RMD160 cb38c6a1c624e9864704071273a7000e5240b128 SHA1 83871c4ec841b276a8da3d31c88c416274bcd71a SHA256 4aee3ace26f833fa9def6eaaa4f40a4b9c8e0d739386e0a3ccb1833e83573d71
DIST libgadu-1.9.0.tar.gz 508879 RMD160 28b664dbc04174f0ff3d2615cfa98c9b3ccf8da6 SHA1 8b573ebf4d09962491b9a6e5fa2dd451b820c089 SHA256 12fadc0ea8ff31e5c199e8209bc6409dac2f69d4f4cda4adf6ec3838846af5f9
EBUILD libgadu-1.8.2.ebuild 900 RMD160 a39f9d279acf22b4e876c30862e3506c0e1fea9e SHA1 9e7cc4128d384b9a1d781b23b902e06212879e56 SHA256 0f6de31df4f4a5c71291e7f397d9d79a31c757e1de68dae015311ae6bd8e8c20
-EBUILD libgadu-1.9.0.ebuild 1242 RMD160 c3a4c0b829704b354a882944216ba66e96dc0bdd SHA1 d07ba66a49de1b10c863830a87becb747d804ee4 SHA256 df8fd557efbb2000fb193149480439779bed4cff14c8ea5524fba2ee1f52036b
-MISC ChangeLog 5138 RMD160 5346426284cf09a514a76daabb6c7b67e5babd0d SHA1 c9ce93802e9c3904e63cc8615795166f80850aed SHA256 47ba3d961085c6b71a36ed000e75ff5e8203bd73651e1923a68a6c4d6e022593
+EBUILD libgadu-1.9.0-r1.ebuild 1257 RMD160 49b307e714936ff077664a2e709d8e92caa01246 SHA1 9ac1a8c282a309ae94aa1f81efc6f9331e9ca719 SHA256 16dbb8a2667d2d5b3c57a615bfef06335612c3bb5c4d2061594aca0bf6bdf605
+MISC ChangeLog 5385 RMD160 48bb68eff8168e8c9d45e9244d022572993a4328 SHA1 e9de4189a95728595ece724f2a6f9ba123b7a6bd SHA256 04cdb51e2c34d06e0d7031cb124ae5e938dc954dc3275403e27ef06f3ee3e773
MISC metadata.xml 258 RMD160 fc4bdbc1fb86c35071fb934c536231e4d3e493bc SHA1 739942443b465ea4a29e1742b7ffdf9d8ec3574f SHA256 2f8c9c8d8671a47521046aeb7ba86a8e407ad25da4f2d31a87d34a6830cae052
diff --git a/net-libs/libgadu/files/libgadu-1.9.0-memleak.patch b/net-libs/libgadu/files/libgadu-1.9.0-memleak.patch
new file mode 100644
index 000000000000..c0cdc7785f9d
--- /dev/null
+++ b/net-libs/libgadu/files/libgadu-1.9.0-memleak.patch
@@ -0,0 +1,42 @@
+Index: src/events.c
+===================================================================
+--- src/events.c (revision 976)
++++ src/events.c (revision 987)
+@@ -72,6 +72,7 @@
+ free(e->event.msg.message);
+ free(e->event.msg.formats);
+ free(e->event.msg.recipients);
++ free(e->event.msg.xhtml_message);
+ break;
+
+ case GG_EVENT_NOTIFY:
+@@ -420,6 +421,7 @@
+ {
+ struct gg_recv_msg *r = (struct gg_recv_msg*) ((char*) h + sizeof(struct gg_header));
+ char *p, *packet_end = (char*) r + h->length;
++ int ctcp = 0;
+
+ gg_debug_session(sess, GG_DEBUG_FUNCTION, "** gg_handle_recv_msg(%p, %p);\n", h, e);
+
+@@ -438,6 +440,7 @@
+
+ if (*p == 0x02 && p == packet_end - 1) {
+ gg_debug_session(sess, GG_DEBUG_MISC, "// gg_handle_recv_msg() received ctcp packet\n");
++ ctcp = 1;
+ break;
+ }
+
+@@ -463,8 +466,12 @@
+ e->event.msg.sender = gg_fix32(r->sender);
+ e->event.msg.time = gg_fix32(r->time);
+ e->event.msg.seq = gg_fix32(r->seq);
+- e->event.msg.message = (unsigned char*) strdup((char*) r + sizeof(*r));
++ if (ctcp)
++ e->event.msg.message = (unsigned char*) strdup("\x02");
++ else
++ e->event.msg.message = (unsigned char*) strdup((char*) r + sizeof(*r));
+
++
+ return 0;
+
+ malformed:
diff --git a/net-libs/libgadu/libgadu-1.9.0.ebuild b/net-libs/libgadu/libgadu-1.9.0-r1.ebuild
index 341bfd083c11..938caf769179 100644
--- a/net-libs/libgadu/libgadu-1.9.0.ebuild
+++ b/net-libs/libgadu/libgadu-1.9.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libgadu/libgadu-1.9.0.ebuild,v 1.2 2010/05/26 00:03:40 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libgadu/libgadu-1.9.0-r1.ebuild,v 1.1 2010/06/05 02:30:03 reavertm Exp $
EAPI="2"
@@ -30,6 +30,10 @@ RDEPEND="${COMMON_DEPEND}
S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}/${P}-memleak.patch"
+)
+
DOCS=(AUTHORS ChangeLog NEWS README)
src_configure() {
@@ -41,14 +45,11 @@ src_configure() {
}
src_install() {
+ use doc && HTML_DOCS=(docs/html/)
base_src_install
if ! use static-libs; then
find "${D}" -type f -name '*.la' -exec rm -f {} + \
|| die "la removal failed"
fi
-
- if use doc; then
- dohtml -r docs/html/* || die "dohtml failed"
- fi
}