[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1543985 - in /subversion/trunk/subversion/bindings/javahl: native/ native/jniwrapper/ src/org/apache/subversion/javahl/types/ src/org/apache/subversion/javahl/util/ tests/org/apache/subversion/javahl/

From: Branko Čibej <brane_at_wandisco.com>
Date: Thu, 21 Nov 2013 08:27:46 +0100

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:brane_at_apache.org>
> *Sent:* ‎Thursday‎, ‎November‎ ‎21‎, ‎2013 ‎12‎:‎43‎ ‎AM
> *To:* commits_at_subversion.apache.org <mailto:commits_at_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. brane_at_wandisco.com
Received on 2013-11-21 08:28:29 CET

This is an archived mail posted to the Subversion Dev mailing list.