)]}'
{"id":"libcouchbase~14641","triplet_id":"libcouchbase~master~I4dc88636a15bcb380ec28579760d70a588fd7947","project":"libcouchbase","branch":"master","hashtags":[],"change_id":"I4dc88636a15bcb380ec28579760d70a588fd7947","subject":"Fix segfault while authorizing on protected buckets","status":"MERGED","created":"2012-04-06 21:53:28.000000000","updated":"2012-04-30 22:50:05.000000000","submitted":"2012-04-09 16:45:04.000000000","submitter":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"5d35d461e82002070307df09d75f4ef2c0806b52","_number":14641,"virtual_id_number":14641,"owner":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"value":0,"date":"2012-04-09 16:07:26.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":1,"date":"2012-04-09 16:10:18.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"date":"2012-04-07 20:50:34.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"value":2,"date":"2012-04-09 16:07:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":1,"date":"2012-04-30 22:50:05.000000000","post_submit":true,"permitted_voting_range":{"min":1,"max":1},"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"date":"2012-04-09 16:10:18.000000000","permitted_voting_range":{"min":0,"max":2},"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":1,"date":"2012-04-07 20:50:34.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-2":"Do not submit","-1":"I would prefer that you didn\u0027t submit this"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Well-Formed":{"all":[{"value":0,"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-1":"Commit is not well-formed"," 0":"Well-formedness not checked","+1":"Commit is well-formed"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2012-04-06 21:55:59.000000000","updated_by":{"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2012-04-07 20:50:34.000000000","updated_by":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2012-04-09 16:07:26.000000000","updated_by":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"}],"messages":[{"id":"5da2ceab00ed646977bbc9ba98449926d68527db","author":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-06 21:53:57.000000000","message":"Patch Set 1: Verified\n\n","accounts_in_message":[],"_revision_number":1},{"id":"24343626e6e5b0ab20e31dddc39002fb9bbe50a6","author":{"_account_id":1000292,"name":"Mark Nunberg","email":"mark.nunberg@couchbase.com","username":"mnunberg","avatars":[{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ea97d1987ed08d8e48e394afae24c122.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-06 21:55:59.000000000","message":"Patch Set 1: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":1},{"id":"cd58364d833efef959a13ce742fef2f4f073523c","author":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-06 23:18:10.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"37a2a5d803b003a9923c37c8ea2cb119f6db40a7","author":{"_account_id":1000289,"name":"Gerrit User","email":"gerrit@couchbase.com","username":"gerrit","avatars":[{"url":"https://www.gravatar.com/avatar/aa6f2dbc8eea1a3e0acd444a0d96f12b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aa6f2dbc8eea1a3e0acd444a0d96f12b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aa6f2dbc8eea1a3e0acd444a0d96f12b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aa6f2dbc8eea1a3e0acd444a0d96f12b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-06 23:18:17.000000000","message":"Patch Set 2:\n\nNew patchset patch-id matches previous patchset, but commit message has changed.","accounts_in_message":[],"_revision_number":2},{"id":"e908373a844a9629db6bfb8dd71add693ff928bd","author":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-07 20:50:34.000000000","message":"Patch Set 2: Looks good to me, but someone else must approve\n\nMakes sense to me, but would like Trond to review.","accounts_in_message":[],"_revision_number":2},{"id":"74d6348da3c17cf64a3b4ae4540cf8f8bcf778b7","author":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-09 16:07:26.000000000","message":"Patch Set 2: Looks good to me, approved\n\nI think this is a \"bug\" in gcc forcing the user to create \"hacks\" to fool the compiler in order to allow the user to use the good old technique to create a \"variable-length\" data structure. Since this cause a crash if one is using gcc I guess we need to apply it (unfortunately it means that the code isn\u0027t that easy to read anymore)","accounts_in_message":[],"_revision_number":2},{"id":"a98e938babedd036dc1afe7aebfbc6acbca0c5db","author":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-09 16:10:18.000000000","message":"Patch Set 2: Verified\n\n","accounts_in_message":[],"_revision_number":2},{"id":"a28e35f0d33293a271f9e7d594b58f0bc209d5e5","author":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-09 16:45:04.000000000","message":"Change has been successfully cherry-picked as 211bb04efdffbbc6dc58fc2641aa0aaf93ec7338.","accounts_in_message":[],"_revision_number":2},{"id":"3b70760eea63fad04fff8fc9fa0b4d1e7856c2cb","author":{"_account_id":1000005,"name":"Aliaksey Kandratsenka","email":"alkondratenko@gmail.com","username":"alk","avatars":[{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-30 21:42:50.000000000","message":"Patch Set 2:\n\nI\u0027ve just hit this case. And Sergey pointed me here.\n\nGCC is ultimately right. There\u0027s no check that password won\u0027t overflow your buffer here. No matter if it\u0027s just 1 byte or longer.\n\nThis place needs different fix and main issue is not gcc (which is ultimately right), but a security vulnerability.","accounts_in_message":[],"_revision_number":2},{"id":"b676016d6f1ac2cfc257b7f794341eb443ac6b5d","author":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-30 21:47:53.000000000","message":"Patch Set 2:\n\nThe problem is that gcc complains even if you _don\u0027t_ overflow it.. I _could_ have done a strlen() first to check the buffer size (not that we did in this case, but that\u0027s an different issue).","accounts_in_message":[],"_revision_number":2},{"id":"d3172d79899aa26e417d8cf22496a22f8520857b","author":{"_account_id":1000005,"name":"Aliaksey Kandratsenka","email":"alkondratenko@gmail.com","username":"alk","avatars":[{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9ad79288563ad0d55baba41432adc6d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-30 21:55:26.000000000","message":"Patch Set 2:\n\nI\u0027m not arguing GCC is perfect. But essentially conservative check of strcpy destinations (or even complete forbidding of strcpy) makes sense to me. See here for more details http://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d45669","accounts_in_message":[],"_revision_number":2},{"id":"a2054e0910741b037ff5f259b3ca832072573e08","author":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2012-04-30 22:50:05.000000000","message":"Patch Set 2:\n\nThe fix is here http://review.couchbase.org/15473","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"029fc4d07fa686c64dde28e5073c525511524b6d","revisions":{"3784bdceae4ac861efffd72122af7b545b256afc":{"kind":"REWORK","_number":1,"created":"2012-04-06 21:53:28.000000000","uploader":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/41/14641/1","fetch":{"anonymous http":{"url":"https://review.couchbase.org/libcouchbase","ref":"refs/changes/41/14641/1","commands":{"Branch":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/1 \u0026\u0026 git checkout -b change-14641 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/libcouchbase refs/changes/41/14641/1","Reset To":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"78b17614fceeb32c3bdf1813d08e2199a751c773","subject":"Allow to pass additional arguments to RPM builder"}],"author":{"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","date":"2012-04-06 21:48:55.000000000","tz":180},"committer":{"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","date":"2012-04-06 21:48:55.000000000","tz":180},"subject":"Fix segfault","message":"Fix segfault\n\nMinimal working example\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ntest.c\n------\n\n  #define _FORTIFY_SOURCE 2\n  #include \u003cstdio.h\u003e\n  #include \u003cstring.h\u003e\n  #include \u003cstdlib.h\u003e\n\n  struct sasl {\n      const char *name;\n      union {\n          struct {\n              unsigned long len;\n              unsigned char data[1];\n          } secret;\n          char buffer[256];\n      } password;\n      void *callbacks[4];\n  };\n\n  #define STACK_MKSASL struct sasl sasl_stack;\n  #define STACK_SASL (\u0026sasl_stack)\n\n  #define HEAP_MKSASL  struct sasl *sasl_heap \u003d malloc(sizeof(*sasl_heap))\n  #define HEAP_SASL sasl_heap\n\n  int main(void)\n  {\n      STACK_MKSASL;\n      HEAP_MKSASL;\n      const char *str \u003d \"secret\";\n      printf(\"GCCs __bos (For stack): 0x%lx\\n\", __bos(STACK_SASL-\u003epassword.secret.data));\n      printf(\"GCCs __bos (For heap): 0x%lx\\n\", __bos(HEAP_SASL-\u003epassword.secret.data));\n      strcpy((char*)STACK_SASL-\u003epassword.secret.data, str);\n      strcpy((char*)HEAP_SASL-\u003epassword.secret.data, str);\n      return 0;\n  }\n\n$ gcc -O2 -o test test.c\nIn file included from /usr/include/string.h:642:0,\n                 from test.c:3:\nIn function ‘strcpy’,\n    inlined from ‘main’ at test.c:31:11:\n/usr/include/x86_64-linux-gnu/bits/string3.h:105:3: warning: call to __builtin___strcpy_chk will always overflow destination buffer [enabled by default]\nIn function ‘strcpy’,\n    inlined from ‘main’ at test.c:32:11:\n/usr/include/x86_64-linux-gnu/bits/string3.h:105:3: warning: call to __builtin___strcpy_chk will always overflow destination buffer [enabled by default]\n\n$ ./test\nGCCs __bos (For stack): 0x1\nGCCs __bos (For heap): 0x1\n*** buffer overflow detected ***: ./test terminated\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d Backtrace: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f1885534077]\n/lib/x86_64-linux-gnu/libc.so.6(+0xebf30)[0x7f1885532f30]\n./test[0x400525]\n/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7f1885465ead]\n./test[0x40056d]\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d Memory map: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n00400000-00401000 r-xp 00000000 08:03 13114118                           /home/avsej/tmp/test\n00600000-00601000 rw-p 00000000 08:03 13114118                           /home/avsej/tmp/test\n014e9000-0150a000 rw-p 00000000 00:00 0                                  [heap]\n7f1885231000-7f1885246000 r-xp 00000000 08:01 2360249                    /lib/x86_64-linux-gnu/libgcc_s.so.1\n7f1885246000-7f1885446000 ---p 00015000 08:01 2360249                    /lib/x86_64-linux-gnu/libgcc_s.so.1\n7f1885446000-7f1885447000 rw-p 00015000 08:01 2360249                    /lib/x86_64-linux-gnu/libgcc_s.so.1\n7f1885447000-7f18855c4000 r-xp 00000000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18855c4000-7f18857c4000 ---p 0017d000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18857c4000-7f18857c8000 r--p 0017d000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18857c8000-7f18857c9000 rw-p 00181000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18857c9000-7f18857ce000 rw-p 00000000 00:00 0\n7f18857ce000-7f18857ed000 r-xp 00000000 08:01 2363016                    /lib/x86_64-linux-gnu/ld-2.13.so\n7f18859cc000-7f18859cf000 rw-p 00000000 00:00 0\n7f18859ea000-7f18859ed000 rw-p 00000000 00:00 0\n7f18859ed000-7f18859ee000 r--p 0001f000 08:01 2363016                    /lib/x86_64-linux-gnu/ld-2.13.so\n7f18859ee000-7f18859ef000 rw-p 00020000 08:01 2363016                    /lib/x86_64-linux-gnu/ld-2.13.so\n7f18859ef000-7f18859f0000 rw-p 00000000 00:00 0\n7fff268c0000-7fff268e1000 rw-p 00000000 00:00 0                          [stack]\n7fff26900000-7fff26901000 r-xp 00000000 00:00 0                          [vdso]\nffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]\nAborted (core dumped)\n\nChange-Id: I4dc88636a15bcb380ec28579760d70a588fd7947\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"78b17614fceeb32c3bdf1813d08e2199a751c773","is_merged_in_target_branch":false,"change_id":"Ic994cb0bbfcd53376fcbbc5ae3d7bcb16fd61727","change_number":14546,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"029fc4d07fa686c64dde28e5073c525511524b6d":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2012-04-06 23:18:10.000000000","uploader":{"_account_id":1000201,"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","username":"avsej","avatars":[{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dd70f9d8cc5f9ee488d68e7a787ba526.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/41/14641/2","fetch":{"anonymous http":{"url":"https://review.couchbase.org/libcouchbase","ref":"refs/changes/41/14641/2","commands":{"Branch":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/2 \u0026\u0026 git checkout -b change-14641 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/libcouchbase refs/changes/41/14641/2","Reset To":"git fetch https://review.couchbase.org/libcouchbase refs/changes/41/14641/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"78b17614fceeb32c3bdf1813d08e2199a751c773","subject":"Allow to pass additional arguments to RPM builder"}],"author":{"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","date":"2012-04-06 21:48:55.000000000","tz":180},"committer":{"name":"Sergey Avseyev","email":"sergey.avseyev@gmail.com","date":"2012-04-06 23:16:31.000000000","tz":180},"subject":"Fix segfault while authorizing on protected buckets","message":"Fix segfault while authorizing on protected buckets\n\nMinimal working example\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ntest.c\n------\n\n  #define _FORTIFY_SOURCE 2\n  #include \u003cstdio.h\u003e\n  #include \u003cstring.h\u003e\n  #include \u003cstdlib.h\u003e\n\n  struct sasl {\n      const char *name;\n      union {\n          struct {\n              unsigned long len;\n              unsigned char data[1];\n          } secret;\n          char buffer[256];\n      } password;\n      void *callbacks[4];\n  };\n\n  #define STACK_MKSASL struct sasl sasl_stack;\n  #define STACK_SASL (\u0026sasl_stack)\n\n  #define HEAP_MKSASL  struct sasl *sasl_heap \u003d malloc(sizeof(*sasl_heap))\n  #define HEAP_SASL sasl_heap\n\n  int main(void)\n  {\n      STACK_MKSASL;\n      HEAP_MKSASL;\n      const char *str \u003d \"secret\";\n      printf(\"GCCs __bos (For stack): 0x%lx\\n\", __bos(STACK_SASL-\u003epassword.secret.data));\n      printf(\"GCCs __bos (For heap): 0x%lx\\n\", __bos(HEAP_SASL-\u003epassword.secret.data));\n      strcpy((char*)STACK_SASL-\u003epassword.secret.data, str);\n      strcpy((char*)HEAP_SASL-\u003epassword.secret.data, str);\n      return 0;\n  }\n\n$ gcc -O2 -o test test.c\nIn file included from /usr/include/string.h:642:0,\n                 from test.c:3:\nIn function ‘strcpy’,\n    inlined from ‘main’ at test.c:31:11:\n/usr/include/x86_64-linux-gnu/bits/string3.h:105:3: warning: call to __builtin___strcpy_chk will always overflow destination buffer [enabled by default]\nIn function ‘strcpy’,\n    inlined from ‘main’ at test.c:32:11:\n/usr/include/x86_64-linux-gnu/bits/string3.h:105:3: warning: call to __builtin___strcpy_chk will always overflow destination buffer [enabled by default]\n\n$ ./test\nGCCs __bos (For stack): 0x1\nGCCs __bos (For heap): 0x1\n*** buffer overflow detected ***: ./test terminated\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d Backtrace: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f1885534077]\n/lib/x86_64-linux-gnu/libc.so.6(+0xebf30)[0x7f1885532f30]\n./test[0x400525]\n/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7f1885465ead]\n./test[0x40056d]\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d Memory map: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n00400000-00401000 r-xp 00000000 08:03 13114118                           /home/avsej/tmp/test\n00600000-00601000 rw-p 00000000 08:03 13114118                           /home/avsej/tmp/test\n014e9000-0150a000 rw-p 00000000 00:00 0                                  [heap]\n7f1885231000-7f1885246000 r-xp 00000000 08:01 2360249                    /lib/x86_64-linux-gnu/libgcc_s.so.1\n7f1885246000-7f1885446000 ---p 00015000 08:01 2360249                    /lib/x86_64-linux-gnu/libgcc_s.so.1\n7f1885446000-7f1885447000 rw-p 00015000 08:01 2360249                    /lib/x86_64-linux-gnu/libgcc_s.so.1\n7f1885447000-7f18855c4000 r-xp 00000000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18855c4000-7f18857c4000 ---p 0017d000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18857c4000-7f18857c8000 r--p 0017d000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18857c8000-7f18857c9000 rw-p 00181000 08:01 2359335                    /lib/x86_64-linux-gnu/libc-2.13.so\n7f18857c9000-7f18857ce000 rw-p 00000000 00:00 0\n7f18857ce000-7f18857ed000 r-xp 00000000 08:01 2363016                    /lib/x86_64-linux-gnu/ld-2.13.so\n7f18859cc000-7f18859cf000 rw-p 00000000 00:00 0\n7f18859ea000-7f18859ed000 rw-p 00000000 00:00 0\n7f18859ed000-7f18859ee000 r--p 0001f000 08:01 2363016                    /lib/x86_64-linux-gnu/ld-2.13.so\n7f18859ee000-7f18859ef000 rw-p 00020000 08:01 2363016                    /lib/x86_64-linux-gnu/ld-2.13.so\n7f18859ef000-7f18859f0000 rw-p 00000000 00:00 0\n7fff268c0000-7fff268e1000 rw-p 00000000 00:00 0                          [stack]\n7fff26900000-7fff26901000 r-xp 00000000 00:00 0                          [vdso]\nffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]\nAborted (core dumped)\n\nChange-Id: I4dc88636a15bcb380ec28579760d70a588fd7947\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"78b17614fceeb32c3bdf1813d08e2199a751c773","is_merged_in_target_branch":false,"change_id":"Ic994cb0bbfcd53376fcbbc5ae3d7bcb16fd61727","change_number":14546,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
