nghttp2_session_*_new: Leave session parameter untouched on failure
This commit is contained in:
parent
4cbfe5d3d1
commit
55c338d7af
|
@ -1564,6 +1564,8 @@ void nghttp2_option_set_peer_max_concurrent_streams(nghttp2_option *option,
|
|||
* the :member:`nghttp2_session_callbacks.recv_callback` must be
|
||||
* specified. The other members of |callbacks| can be ``NULL``.
|
||||
*
|
||||
* If this function fails, |*session_ptr| is left untouched.
|
||||
*
|
||||
* This function returns 0 if it succeeds, or one of the following
|
||||
* negative error codes:
|
||||
*
|
||||
|
@ -1587,6 +1589,8 @@ int nghttp2_session_client_new(nghttp2_session **session_ptr,
|
|||
* the :member:`nghttp2_session_callbacks.recv_callback` must be
|
||||
* specified. The other members of |callbacks| can be ``NULL``.
|
||||
*
|
||||
* If this function fails, |*session_ptr| is left untouched.
|
||||
*
|
||||
* This function returns 0 if it succeeds, or one of the following
|
||||
* negative error codes:
|
||||
*
|
||||
|
|
|
@ -415,14 +415,18 @@ int nghttp2_session_client_new2(nghttp2_session **session_ptr,
|
|||
const nghttp2_option *option)
|
||||
{
|
||||
int rv;
|
||||
nghttp2_session *session;
|
||||
|
||||
rv = session_new(session_ptr, callbacks, user_data, 0, option);
|
||||
rv = session_new(&session, callbacks, user_data, 0, option);
|
||||
|
||||
if(rv != 0) {
|
||||
return rv;
|
||||
}
|
||||
/* IDs for use in client */
|
||||
(*session_ptr)->next_stream_id = 1;
|
||||
session->next_stream_id = 1;
|
||||
|
||||
*session_ptr = session;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -439,14 +443,18 @@ int nghttp2_session_server_new2(nghttp2_session **session_ptr,
|
|||
const nghttp2_option *option)
|
||||
{
|
||||
int rv;
|
||||
nghttp2_session *session;
|
||||
|
||||
rv = session_new(session_ptr, callbacks, user_data, 1, option);
|
||||
rv = session_new(&session, callbacks, user_data, 1, option);
|
||||
|
||||
if(rv != 0) {
|
||||
return rv;
|
||||
}
|
||||
/* IDs for use in client */
|
||||
(*session_ptr)->next_stream_id = 2;
|
||||
session->next_stream_id = 2;
|
||||
|
||||
*session_ptr = session;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue