Deleted
Added
nxt_http_parse.c (19:385969e9f503) | nxt_http_parse.c (38:c47bca12f947) |
---|---|
1 2/* 3 * Copyright (C) NGINX, Inc. 4 * Copyright (C) Valentin V. Bartenev 5 */ 6 7#include <nxt_main.h> 8 --- 757 unchanged lines hidden (view full) --- 766nxt_http_fields_hash_t * 767nxt_http_fields_hash(nxt_http_fields_t *fields, nxt_mem_pool_t *mp) 768{ 769 size_t min_length, max_length, length, size; 770 nxt_uint_t i, j, n; 771 nxt_http_fields_hash_t *hash; 772 nxt_http_fields_hash_entry_t *entry; 773 | 1 2/* 3 * Copyright (C) NGINX, Inc. 4 * Copyright (C) Valentin V. Bartenev 5 */ 6 7#include <nxt_main.h> 8 --- 757 unchanged lines hidden (view full) --- 766nxt_http_fields_hash_t * 767nxt_http_fields_hash(nxt_http_fields_t *fields, nxt_mem_pool_t *mp) 768{ 769 size_t min_length, max_length, length, size; 770 nxt_uint_t i, j, n; 771 nxt_http_fields_hash_t *hash; 772 nxt_http_fields_hash_entry_t *entry; 773 |
774 min_length = 0; | 774 min_length = 32 + 1; |
775 max_length = 0; 776 777 for (i = 0; fields[i].handler != NULL; i++) { 778 length = fields[i].name.length; 779 780 if (length > 32) { 781 /* TODO */ 782 return NULL; 783 } 784 785 min_length = nxt_min(length, min_length); 786 max_length = nxt_max(length, max_length); 787 } 788 | 775 max_length = 0; 776 777 for (i = 0; fields[i].handler != NULL; i++) { 778 length = fields[i].name.length; 779 780 if (length > 32) { 781 /* TODO */ 782 return NULL; 783 } 784 785 min_length = nxt_min(length, min_length); 786 max_length = nxt_max(length, max_length); 787 } 788 |
789 size = (max_length - min_length + 1) 790 * sizeof(nxt_http_fields_hash_entry_t *); | 789 size = sizeof(nxt_http_fields_hash_t); |
791 | 790 |
792 hash = nxt_mem_zalloc(mp, sizeof(nxt_http_fields_hash_t) + size); | 791 if (min_length <= 32) { 792 size += (max_length - min_length + 1) 793 * sizeof(nxt_http_fields_hash_entry_t *); 794 } |
793 | 795 |
796 hash = nxt_mem_zalloc(mp, size); |
|
794 if (nxt_slow_path(hash == NULL)) { 795 return NULL; 796 } 797 798 hash->min_length = min_length; 799 hash->max_length = max_length; 800 801 for (i = 0; fields[i].handler != NULL; i++) { --- 48 unchanged lines hidden --- | 797 if (nxt_slow_path(hash == NULL)) { 798 return NULL; 799 } 800 801 hash->min_length = min_length; 802 hash->max_length = max_length; 803 804 for (i = 0; fields[i].handler != NULL; i++) { --- 48 unchanged lines hidden --- |