diff --git a/.vscode/launch.json b/.vscode/launch.json
index c25b5c5704a6c6576c5da8262edab628e960a768..53ad78abd0ed5e942c41a9eeab01ac3ea4177d4e 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -102,7 +102,7 @@
             "request": "launch",
             "program": "${workspaceFolder}/tests/elfio_fuzzer",
             "args": [
-                "crash-98819328ee414bbba1ee50073d66c0727d60a7af"
+                "oom-9025696a52c7f5cb94d482225a6b3727e9691f5b"
             ],
             "cwd": "${workspaceFolder}/tests",
         }
diff --git a/elfio/elfio_dynamic.hpp b/elfio/elfio_dynamic.hpp
index 528a55ef8de43eeb93d005a28609310c4232a009..7cb2f81308b6a1b7d94a66b292586c8e39746aab 100644
--- a/elfio/elfio_dynamic.hpp
+++ b/elfio/elfio_dynamic.hpp
@@ -40,8 +40,17 @@ template <class S> class dynamic_section_accessor_template
     //------------------------------------------------------------------------------
     Elf_Xword get_entries_num() const
     {
+        size_t needed_entry_size = -1;
+        if ( elf_file.get_class() == ELFCLASS32 ) {
+            needed_entry_size = sizeof( Elf32_Dyn );
+        }
+        else {
+            needed_entry_size = sizeof( Elf64_Dyn );
+        }
+
         if ( ( 0 == entries_num ) &&
-             ( 0 != dynamic_section->get_entry_size() ) ) {
+             ( 0 != dynamic_section->get_entry_size() &&
+               dynamic_section->get_entry_size() >= needed_entry_size ) ) {
             entries_num =
                 dynamic_section->get_size() / dynamic_section->get_entry_size();
             Elf_Xword   i;
@@ -134,7 +143,8 @@ template <class S> class dynamic_section_accessor_template
         // Check unusual case when dynamic section has no data
         if ( dynamic_section->get_data() == nullptr ||
              ( index + 1 ) * dynamic_section->get_entry_size() >
-                 dynamic_section->get_size() ) {
+                 dynamic_section->get_size() ||
+             dynamic_section->get_entry_size() < sizeof( T ) ) {
             tag   = DT_NULL;
             value = 0;
             return;