Add patch from mailing list to fix memory leak on receiving messages.
authorMaciej Mrozowski <reavertm@gentoo.org>
Sat, 5 Jun 2010 02:30:04 +0000 (02:30 +0000)
committerMaciej Mrozowski <reavertm@gentoo.org>
Sat, 5 Jun 2010 02:30:04 +0000 (02:30 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

net-libs/libgadu/ChangeLog
net-libs/libgadu/Manifest
net-libs/libgadu/files/libgadu-1.9.0-memleak.patch [new file with mode: 0644]
net-libs/libgadu/libgadu-1.9.0-r1.ebuild [moved from net-libs/libgadu/libgadu-1.9.0.ebuild with 89% similarity]

index 95f8d1b737361052ec22ac4777420e39a02ab4ed..44c81aaaa3aa3cb18f01e3c7bbc4841ab42baaee 100644 (file)
@@ -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
index 00f17990972feae3685b75546c1c3bfa3db10b66..fe10da09824b7baa129444a08e22e2778fe57e08 100644 (file)
@@ -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 (file)
index 0000000..c0cdc77
--- /dev/null
@@ -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:
similarity index 89%
rename from net-libs/libgadu/libgadu-1.9.0.ebuild
rename to net-libs/libgadu/libgadu-1.9.0-r1.ebuild
index 341bfd083c11598cd9be72ed7bf1f92757da6088..938caf769179b9c666b304e6ac11f20e48147bd6 100644 (file)
@@ -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
 }