Mercurial > hg > nginx
comparison src/core/ngx_resolver.c @ 7039:a39bc74873fa
Resolver: fixed allocation error handling while resolving SRV.
author | Bart Warmerdam <bartw@xs4all.nl> |
---|---|
date | Mon, 19 Jun 2017 14:25:42 +0300 |
parents | a72886067bbb |
children | d49b74a683b1 |
comparison
equal
deleted
inserted
replaced
7038:d1816a2696de | 7039:a39bc74873fa |
---|---|
441 | 441 |
442 name.len = slen + 1 + ctx->name.len; | 442 name.len = slen + 1 + ctx->name.len; |
443 | 443 |
444 name.data = ngx_resolver_alloc(r, name.len); | 444 name.data = ngx_resolver_alloc(r, name.len); |
445 if (name.data == NULL) { | 445 if (name.data == NULL) { |
446 return NGX_ERROR; | 446 goto failed; |
447 } | 447 } |
448 | 448 |
449 if (slen == ctx->service.len) { | 449 if (slen == ctx->service.len) { |
450 ngx_sprintf(name.data, "%V.%V", &ctx->service, &ctx->name); | 450 ngx_sprintf(name.data, "%V.%V", &ctx->service, &ctx->name); |
451 | 451 |
478 /* NGX_ERROR */ | 478 /* NGX_ERROR */ |
479 | 479 |
480 if (ctx->event) { | 480 if (ctx->event) { |
481 ngx_resolver_free(r, ctx->event); | 481 ngx_resolver_free(r, ctx->event); |
482 } | 482 } |
483 | |
484 failed: | |
483 | 485 |
484 ngx_resolver_free(r, ctx); | 486 ngx_resolver_free(r, ctx); |
485 | 487 |
486 return NGX_ERROR; | 488 return NGX_ERROR; |
487 } | 489 } |