diff options
| author | nagachika <nagachika@ruby-lang.org> | 2024-07-20 13:00:32 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2024-07-20 13:05:33 +0900 |
| commit | 3fe51aa26867159af574fac8eba7ae86a0b30971 (patch) | |
| tree | 97c89f7aa2e072bacc53cd6283cee77cdd5ba121 | |
| parent | c10c73fd16f1b7c9b658afee2b1b53ecfaed4fa4 (diff) | |
merge revision(s) fba8aff7af450e476e97b62385427dfa51850955, d8c6e91748871ab2287d7703347847fe18a292d2: [Backport #20592]
[Bug #20592] Fix segfault when sending NULL to freeaddrinfo
On alpine freeaddrinfo does not accept NULL pointer
Fix dangling `else`
| -rw-r--r-- | ext/socket/raddrinfo.c | 5 | ||||
| -rw-r--r-- | version.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/ext/socket/raddrinfo.c b/ext/socket/raddrinfo.c index 269edc4dad..45b4cad38f 100644 --- a/ext/socket/raddrinfo.c +++ b/ext/socket/raddrinfo.c @@ -287,8 +287,9 @@ numeric_getaddrinfo(const char *node, const char *service, void rb_freeaddrinfo(struct rb_addrinfo *ai) { - if (!ai->allocated_by_malloc) - freeaddrinfo(ai->ai); + if (!ai->allocated_by_malloc) { + if (ai->ai) freeaddrinfo(ai->ai); + } else { struct addrinfo *ai1, *ai2; ai1 = ai->ai; @@ -11,7 +11,7 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 4 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 201 +#define RUBY_PATCHLEVEL 202 #include "ruby/version.h" #include "ruby/internal/abi.h" |
