On 21.11.2013 03:11, Bert Huijben wrote:
> Branko,
>
> I might have found the cause of the error. See snippet below

Ouch. Thanks for the review; and of course you're right.

-- Brane


> *From:* Branko Čibej <mailto:br...@apache.org>
> *Sent:* ‎Thursday‎, ‎November‎ ‎21‎, ‎2013 ‎12‎:‎43‎ ‎AM
> *To:* comm...@subversion.apache.org <mailto:comm...@subversion.apache.org>
>
> +class KeywordHashBuilder
> +{
> +public:
> +  explicit KeywordHashBuilder(const SVN::Pool& pool)
> +    : m_pool(pool),
> +      m_hash(apr_hash_make(pool.getPool()))
> +    {}
> +
> +  void operator()(const std::string& key, const Java::ByteArray& value)
> +    {
> +      Java::ByteArray::Contents val(value);
> +      apr_hash_set(m_hash, key.c_str(), key.size(),
> val.get_string(m_pool));
> +    }
> <<<<<<<
> The key must be duplicated in the pool, or hash lookups will look into
> memory with unknown lifetime when they compare the key.
> <<<<<<<
>
> +
> +  apr_hash_t* get() const
> +    {
> +      return m_hash;
> +    }
> +
> +private:
> +  const SVN::Pool& m_pool;
> +  apr_hash_t* const m_hash;
> +};
> +
>


-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com

Reply via email to