diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh
index 3bc453160f1926ffb9232563b680c95489457138..fe81a07120aad6b6e297a7bc7a4505ce10410752 100644
--- a/lustre/tests/conf-sanity.sh
+++ b/lustre/tests/conf-sanity.sh
@@ -1528,5 +1528,14 @@ test_38() { # bug 14222
 
 run_test 38 "MDS recreates missing lov_objid file from OST data"
 
+test_39() { #bug 14413
+        PTLDEBUG=malloc
+        setup
+        cleanup
+        perl $SRCDIR/leak_finder.pl $TMP/debug 2>&1 | egrep "*** Leak:" && error
+}
+
+run_test 39 "leak_finder recognizes both LUSTRE and LNET malloc messages"
+
 equals_msg `basename $0`: test complete
 [ -f "$TESTSUITELOG" ] && cat $TESTSUITELOG || true
diff --git a/lustre/tests/leak_finder.pl b/lustre/tests/leak_finder.pl
index aa783bb546fb96d70ae94353b2bf81293e428bc7..45d221161bf18ac6f59863095477a28ff1b37eb5 100644
--- a/lustre/tests/leak_finder.pl
+++ b/lustre/tests/leak_finder.pl
@@ -14,7 +14,7 @@ my $max = 0;
 while ($line = <>) {
     $debug_line++;
     my ($file, $func, $lno, $name, $size, $addr, $type);
-    if ($line =~ m/^.*(\.).*\((.*):(\d+):(.*)\(\)\) (k|v|slab-)(.*) '(.*)': (\d+) at (.*)\..*$/){
+    if ($line =~ m/^.*(\.).*\((.*):(\d+):(.*)\(\)\) (k|v|slab-)(.*) '(.*)': (\d+) at ([\da-f]+)/){
         $file = $2;
         $lno  = $3;
         $func = $4;