GlobalLogger.error() << "Error: invalid IP options length value." << endl;
         is.setstate( ios::failbit );
     }
-    else
+    else if ( ( 0 < options_length ) && ( options_length <= 40 ) )
     {
         size_t options_size = static_cast<size_t>( options_length );
         scoped_array<uint8_t> options_data( new uint8_t[options_size] );
 
         header.Payload.append( options_data.get(), options_size );
     }
+    else // ( options_length == 0 )
+    {
+        //GlobalLogger.info() << "Info: No options available in this packet." << endl;
+    }
 
     return is;
 }