        def from_string(string)
          raise Errors::InvalidObjectId.new(string) unless legal?(string)
          data = []
          12.times { |i| data << string[i*2, 2].to_i(16) }
          new data
        end
The software does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources.