Package: libnet1 Version: 1.1.2.1-2 Severity: important Tags: patch
While investigating 418975 I notices that libnet_pblock_coalesce() will leak l if an error is encountered. I'm not sure how widespread this problem is in libnet. But in this case the fix is simple enough. Index: libnet-1.1.2.1-wip/src/libnet_pblock.c =================================================================== --- libnet-1.1.2.1-wip.orig/src/libnet_pblock.c 2007-04-13 14:47:17.000000000 +0900 +++ libnet-1.1.2.1-wip/src/libnet_pblock.c 2007-04-13 14:47:19.000000000 +0900 @@ -339,7 +339,7 @@ snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "%s(): packet assembly cannot find a layer 2 header\n", __func__); - return (-1); + goto err; } break; case LIBNET_RAW4: @@ -348,7 +348,7 @@ snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "%s(): packet assembly cannot find an IPv4 header\n", __func__); - return (-1); + goto err; } break; case LIBNET_RAW6: @@ -357,7 +357,7 @@ snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "%s(): packet assembly cannot find an IPv6 header\n", __func__); - return (-1); + goto err; } break; default: @@ -365,7 +365,7 @@ snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "%s(): suddenly the dungeon collapses -- you die\n", __func__); - return (-1); + goto err; break; } } @@ -419,6 +419,10 @@ *size -= l->aligner; } return (1); + +err: + free(packet); + return (-1); } void -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (190, 'unstable'), (180, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.18-4-686 (SMP w/2 CPU cores) Locale: LANG=ja_JP.utf8, LC_CTYPE=ja_JP.utf8 (charmap=UTF-8) (ignored: LC_ALL set to ja_JP.utf8) Shell: /bin/sh linked to /bin/bash Versions of packages libnet1 depends on: ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries libnet1 recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]