diff options
author | Mike Frysinger | 2010-11-16 07:15:00 -0500 |
---|---|---|
committer | Mike Frysinger | 2010-11-16 07:15:00 -0500 |
commit | 8ce1ad3097ca6b92293ca767f6e4ddd98ad0d90e (patch) | |
tree | fc89a095caf49d166a9f80da738beb966c1e947e | |
parent | 2e9aeae4dbc7bd45640ac472ee6ecb7eaf89fe8d (diff) | |
download | busybox-8ce1ad3097ca6b92293ca767f6e4ddd98ad0d90e.zip busybox-8ce1ad3097ca6b92293ca767f6e4ddd98ad0d90e.tar.gz |
depmod.pl: add recursive sanity check
If modules contain circular dependencies, the depmod script will follow
the circle forever. So add a simple sanity check to abort rather than
chew up the CPU.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rwxr-xr-x | examples/depmod.pl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/examples/depmod.pl b/examples/depmod.pl index 8c6548d..f324b12 100755 --- a/examples/depmod.pl +++ b/examples/depmod.pl @@ -173,6 +173,9 @@ sub add_mod_deps $depth .= " "; warn "${depth}loading deps of module: $this_module\n" if $verbose; + if (length($depth) > 50) { + die "too much recursion (circular dependencies in modules?)"; + } foreach my $md (keys %{$mod->{$this_module}}) { add_mod_deps ($depth, $mod, $mod2, $module, $md); |