diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-11-16 15:15:00 +0300 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-11-16 15:15:00 +0300 |
commit | 8ce1ad3097ca6b92293ca767f6e4ddd98ad0d90e (patch) | |
tree | fc89a095caf49d166a9f80da738beb966c1e947e /examples | |
parent | 2e9aeae4dbc7bd45640ac472ee6ecb7eaf89fe8d (diff) |
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>
Diffstat (limited to 'examples')
-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 8c6548d28..f324b121a 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); |