Skip to content

Commit

Permalink
oauth2: release upstream connection on exit (#4095)
Browse files Browse the repository at this point in the history
When retrieving an oauth2 token, upon authentication failure, we were
not releasing the upstream connection, only releasing the HTTP client
context.

This patch makes sure to release the upstream context on exception and
on return, this fix a little memory leak:

------ before ------

    MB
33.32^                                                                       #
     |                                                                   @@@:#
     |                                                              @@@@@@@@:#
     |                                                         @@@@@@@@@@@@@:#
     |                                                   @@@@@@@@@@@@@@@@@@@:#
     |                                              ::@@@@@@@@@@@@@@@@@@@@@@:#
     |                                         ::@@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |                                    @@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |                               @::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |                          :::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |                    ::::@@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |               ::::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |          @::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |    ::::::@::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |:@::::::: @::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |:@::::::: @::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |:@::::::: @::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |:@::::::: @::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |:@::::::: @::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
     |:@::::::: @::::: ::@::: @@:::::@::::@@::@: @@@::@@@@@@@@@@@@@@@@@@@@@@:#
   0 +----------------------------------------------------------------------->Gi
     0                                                                   29.22

------ after ------

    MB
10.56^                                                                      #
     | :::::::::::::::::@:::::@::@::::::::::::::::::::::@:::::::::@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
     | :: ::: ::::::: : @: : :@: @:: :: : :::: ::: :::::@::::::: :@::::::@::#:
   0 +----------------------------------------------------------------------->Gi
     0                                                                   211.1

Signed-off-by: Phillip Whelan <[email protected]>
  • Loading branch information
pwhelan authored Sep 16, 2021
1 parent c42c4fa commit 1b6269d
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/flb_oauth2.c
Original file line number Diff line number Diff line change
Expand Up @@ -398,13 +398,16 @@ char *flb_oauth2_token_get(struct flb_oauth2 *ctx)
flb_info("[oauth2] access token from '%s:%s' retrieved",
ctx->host, ctx->port);
flb_http_client_destroy(c);
flb_upstream_conn_release(u_conn);
ctx->issued = time(NULL);
ctx->expires = ctx->issued + ctx->expires_in;
return ctx->access_token;
}
}

flb_http_client_destroy(c);
flb_upstream_conn_release(u_conn);

return NULL;
}

Expand Down

0 comments on commit 1b6269d

Please sign in to comment.