{"action":"opened","number":25,"pull_request":{"url":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/25","id":30700482,"html_url":"https://github.com/openresty/set-misc-nginx-module/pull/25","diff_url":"https://github.com/openresty/set-misc-nginx-module/pull/25.diff","patch_url":"https://github.com/openresty/set-misc-nginx-module/pull/25.patch","issue_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/issues/25","number":25,"state":"open","locked":false,"title":"add openssl hmac defensive test","user":{"login":"maage","id":699415,"avatar_url":"https://avatars.githubusercontent.com/u/699415?v=3","gravatar_id":"","url":"https://api.github.com/users/maage","html_url":"https://github.com/maage","followers_url":"https://api.github.com/users/maage/followers","following_url":"https://api.github.com/users/maage/following{/other_user}","gists_url":"https://api.github.com/users/maage/gists{/gist_id}","starred_url":"https://api.github.com/users/maage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maage/subscriptions","organizations_url":"https://api.github.com/users/maage/orgs","repos_url":"https://api.github.com/users/maage/repos","events_url":"https://api.github.com/users/maage/events{/privacy}","received_events_url":"https://api.github.com/users/maage/received_events","type":"User","site_admin":false},"body":"md_len might be uninitialized. It might not be set at HMAC if something\r\ngoes wrong. Later it is used at memory allocation and memcpy and\r\nuninitialized variable breaks havoc there.\r\n\r\nStack trace:\r\n\r\n(gdb) where\r\n#0  0x00007f4e874d8548 in __memcpy_ssse3_back () from /lib64/libc.so.6\r\n#1  0x00007f4e8b5abb1b in ngx_http_set_misc_set_hmac_sha1 (r=0x7f4e8d16d6b0, res=0x7fff50dbda70, v=0x7f4e8d16e3d8)\r\n    at ngx_http_set_misc/src/ngx_http_set_hmac.c:38\r\n#2  0x00007f4e8b5a2a9c in ndk_set_var_multi_value_code (e=0x7f4e8d16e380) at ngx_devel_kit/src/ndk_set_var.c:191\r\n#3  0x00007f4e8b571eb3 in ngx_http_rewrite_handler (r=0x7f4e8d16d6b0) at src/http/modules/ngx_http_rewrite_module.c:180\r\n#4  0x00007f4e8b529701 in ngx_http_core_rewrite_phase (r=0x7f4e8d16d6b0, ph=0x7f4e8d1dc3e8)\r\n    at src/http/ngx_http_core_module.c:959\r\n#5  0x00007f4e8b5254b6 in ngx_http_core_run_phases (r=r@entry=0x7f4e8d16d6b0) at src/http/ngx_http_core_module.c:905\r\n#6  0x00007f4e8b5255cb in ngx_http_handler (r=r@entry=0x7f4e8d16d6b0) at src/http/ngx_http_core_module.c:888\r\n#7  0x00007f4e8b530da5 in ngx_http_process_request (r=r@entry=0x7f4e8d16d6b0) at src/http/ngx_http_request.c:1901\r\n#8  0x00007f4e8b531194 in ngx_http_process_request_headers (rev=rev@entry=0x7f4e8d121e28) at src/http/ngx_http_request.c:1332\r\n#9  0x00007f4e8b5314cd in ngx_http_process_request_line (rev=rev@entry=0x7f4e8d121e28) at src/http/ngx_http_request.c:1012\r\n#10 0x00007f4e8b531914 in ngx_http_wait_request_handler (rev=0x7f4e8d121e28) at src/http/ngx_http_request.c:499\r\n#11 0x00007f4e8b51aa03 in ngx_epoll_process_events (cycle=0x7f4e8d11a7f0, timer=<optimized out>, flags=<optimized out>)\r\n    at src/event/modules/ngx_epoll_module.c:685\r\n#12 0x00007f4e8b510db9 in ngx_process_events_and_timers (cycle=cycle@entry=0x7f4e8d11a7f0) at src/event/ngx_event.c:248\r\n#13 0x00007f4e8b519d0a in ngx_single_process_cycle (cycle=cycle@entry=0x7f4e8d11a7f0) at src/os/unix/ngx_process_cycle.c:333\r\n#14 0x00007f4e8b4f72e9 in main (argc=5, argv=<optimized out>) at src/core/nginx.c:404\r\n(gdb) up\r\n#1  0x00007f4e8b5abb1b in ngx_http_set_misc_set_hmac_sha1 (r=0x7f4e8d16d6b0, res=0x7fff50dbda70, v=0x7f4e8d16e3d8)\r\n    at ngx_http_set_misc/src/ngx_http_set_hmac.c:38\r\n38          ngx_memcpy(res->data,\r\n(gdb) print md_len\r\n$30 = 32590\r\n\r\n","created_at":"2015-03-07T09:43:49Z","updated_at":"2015-03-07T09:43:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/25/commits","review_comments_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/25/comments","review_comment_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/issues/25/comments","statuses_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/statuses/91826012f6485d2cbf90dd8f7aa38406011fa9d2","head":{"label":"maage:openssl_hmac_defensive_1","ref":"openssl_hmac_defensive_1","sha":"91826012f6485d2cbf90dd8f7aa38406011fa9d2","user":{"login":"maage","id":699415,"avatar_url":"https://avatars.githubusercontent.com/u/699415?v=3","gravatar_id":"","url":"https://api.github.com/users/maage","html_url":"https://github.com/maage","followers_url":"https://api.github.com/users/maage/followers","following_url":"https://api.github.com/users/maage/following{/other_user}","gists_url":"https://api.github.com/users/maage/gists{/gist_id}","starred_url":"https://api.github.com/users/maage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maage/subscriptions","organizations_url":"https://api.github.com/users/maage/orgs","repos_url":"https://api.github.com/users/maage/repos","events_url":"https://api.github.com/users/maage/events{/privacy}","received_events_url":"https://api.github.com/users/maage/received_events","type":"User","site_admin":false},"repo":{"id":23063441,"name":"set-misc-nginx-module","full_name":"maage/set-misc-nginx-module","owner":{"login":"maage","id":699415,"avatar_url":"https://avatars.githubusercontent.com/u/699415?v=3","gravatar_id":"","url":"https://api.github.com/users/maage","html_url":"https://github.com/maage","followers_url":"https://api.github.com/users/maage/followers","following_url":"https://api.github.com/users/maage/following{/other_user}","gists_url":"https://api.github.com/users/maage/gists{/gist_id}","starred_url":"https://api.github.com/users/maage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maage/subscriptions","organizations_url":"https://api.github.com/users/maage/orgs","repos_url":"https://api.github.com/users/maage/repos","events_url":"https://api.github.com/users/maage/events{/privacy}","received_events_url":"https://api.github.com/users/maage/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/maage/set-misc-nginx-module","description":"Various set_xxx directives added to nginx's rewrite module (md5/sha1, sql/json quoting, and many more)","fork":true,"url":"https://api.github.com/repos/maage/set-misc-nginx-module","forks_url":"https://api.github.com/repos/maage/set-misc-nginx-module/forks","keys_url":"https://api.github.com/repos/maage/set-misc-nginx-module/keys{/key_id}","collaborators_url":"https://api.github.com/repos/maage/set-misc-nginx-module/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/maage/set-misc-nginx-module/teams","hooks_url":"https://api.github.com/repos/maage/set-misc-nginx-module/hooks","issue_events_url":"https://api.github.com/repos/maage/set-misc-nginx-module/issues/events{/number}","events_url":"https://api.github.com/repos/maage/set-misc-nginx-module/events","assignees_url":"https://api.github.com/repos/maage/set-misc-nginx-module/assignees{/user}","branches_url":"https://api.github.com/repos/maage/set-misc-nginx-module/branches{/branch}","tags_url":"https://api.github.com/repos/maage/set-misc-nginx-module/tags","blobs_url":"https://api.github.com/repos/maage/set-misc-nginx-module/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/maage/set-misc-nginx-module/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/maage/set-misc-nginx-module/git/refs{/sha}","trees_url":"https://api.github.com/repos/maage/set-misc-nginx-module/git/trees{/sha}","statuses_url":"https://api.github.com/repos/maage/set-misc-nginx-module/statuses/{sha}","languages_url":"https://api.github.com/repos/maage/set-misc-nginx-module/languages","stargazers_url":"https://api.github.com/repos/maage/set-misc-nginx-module/stargazers","contributors_url":"https://api.github.com/repos/maage/set-misc-nginx-module/contributors","subscribers_url":"https://api.github.com/repos/maage/set-misc-nginx-module/subscribers","subscription_url":"https://api.github.com/repos/maage/set-misc-nginx-module/subscription","commits_url":"https://api.github.com/repos/maage/set-misc-nginx-module/commits{/sha}","git_commits_url":"https://api.github.com/repos/maage/set-misc-nginx-module/git/commits{/sha}","comments_url":"https://api.github.com/repos/maage/set-misc-nginx-module/comments{/number}","issue_comment_url":"https://api.github.com/repos/maage/set-misc-nginx-module/issues/comments{/number}","contents_url":"https://api.github.com/repos/maage/set-misc-nginx-module/contents/{+path}","compare_url":"https://api.github.com/repos/maage/set-misc-nginx-module/compare/{base}...{head}","merges_url":"https://api.github.com/repos/maage/set-misc-nginx-module/merges","archive_url":"https://api.github.com/repos/maage/set-misc-nginx-module/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/maage/set-misc-nginx-module/downloads","issues_url":"https://api.github.com/repos/maage/set-misc-nginx-module/issues{/number}","pulls_url":"https://api.github.com/repos/maage/set-misc-nginx-module/pulls{/number}","milestones_url":"https://api.github.com/repos/maage/set-misc-nginx-module/milestones{/number}","notifications_url":"https://api.github.com/repos/maage/set-misc-nginx-module/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/maage/set-misc-nginx-module/labels{/name}","releases_url":"https://api.github.com/repos/maage/set-misc-nginx-module/releases{/id}","created_at":"2014-08-18T08:08:12Z","updated_at":"2015-03-07T09:34:45Z","pushed_at":"2015-03-07T09:40:45Z","git_url":"git://github.com/maage/set-misc-nginx-module.git","ssh_url":"git@github.com:maage/set-misc-nginx-module.git","clone_url":"https://github.com/maage/set-misc-nginx-module.git","svn_url":"https://github.com/maage/set-misc-nginx-module","homepage":"http://wiki.nginx.org/NginxHttpSetMiscModule","size":532,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openresty:master","ref":"master","sha":"f72abf16dbcff1fac4dd62ef928f3845cc5d2e15","user":{"login":"openresty","id":7390180,"avatar_url":"https://avatars.githubusercontent.com/u/7390180?v=3","gravatar_id":"","url":"https://api.github.com/users/openresty","html_url":"https://github.com/openresty","followers_url":"https://api.github.com/users/openresty/followers","following_url":"https://api.github.com/users/openresty/following{/other_user}","gists_url":"https://api.github.com/users/openresty/gists{/gist_id}","starred_url":"https://api.github.com/users/openresty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openresty/subscriptions","organizations_url":"https://api.github.com/users/openresty/orgs","repos_url":"https://api.github.com/users/openresty/repos","events_url":"https://api.github.com/users/openresty/events{/privacy}","received_events_url":"https://api.github.com/users/openresty/received_events","type":"Organization","site_admin":false},"repo":{"id":498791,"name":"set-misc-nginx-module","full_name":"openresty/set-misc-nginx-module","owner":{"login":"openresty","id":7390180,"avatar_url":"https://avatars.githubusercontent.com/u/7390180?v=3","gravatar_id":"","url":"https://api.github.com/users/openresty","html_url":"https://github.com/openresty","followers_url":"https://api.github.com/users/openresty/followers","following_url":"https://api.github.com/users/openresty/following{/other_user}","gists_url":"https://api.github.com/users/openresty/gists{/gist_id}","starred_url":"https://api.github.com/users/openresty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openresty/subscriptions","organizations_url":"https://api.github.com/users/openresty/orgs","repos_url":"https://api.github.com/users/openresty/repos","events_url":"https://api.github.com/users/openresty/events{/privacy}","received_events_url":"https://api.github.com/users/openresty/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openresty/set-misc-nginx-module","description":"Various set_xxx directives added to nginx's rewrite module (md5/sha1, sql/json quoting, and many more)","fork":false,"url":"https://api.github.com/repos/openresty/set-misc-nginx-module","forks_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/forks","keys_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/teams","hooks_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/hooks","issue_events_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/issues/events{/number}","events_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/events","assignees_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/assignees{/user}","branches_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/branches{/branch}","tags_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/tags","blobs_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/git/refs{/sha}","trees_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/statuses/{sha}","languages_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/languages","stargazers_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/stargazers","contributors_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/contributors","subscribers_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/subscribers","subscription_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/subscription","commits_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/commits{/sha}","git_commits_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/git/commits{/sha}","comments_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/comments{/number}","issue_comment_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/issues/comments{/number}","contents_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/contents/{+path}","compare_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/merges","archive_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/downloads","issues_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/issues{/number}","pulls_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls{/number}","milestones_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/milestones{/number}","notifications_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/labels{/name}","releases_url":"https://api.github.com/repos/openresty/set-misc-nginx-module/releases{/id}","created_at":"2010-02-02T10:56:09Z","updated_at":"2015-03-01T02:26:58Z","pushed_at":"2015-01-21T22:28:32Z","git_url":"git://github.com/openresty/set-misc-nginx-module.git","ssh_url":"git@github.com:openresty/set-misc-nginx-module.git","clone_url":"https://github.com/openresty/set-misc-nginx-module.git","svn_url":"https://github.com/openresty/set-misc-nginx-module","homepage":"http://wiki.nginx.org/NginxHttpSetMiscModule","size":982,"stargazers_count":114,"watchers_count":114,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":28,"mirror_url":null,"open_issues_count":6,"forks":28,"open_issues":6,"watchers":114,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/25"},"html":{"href":"https://github.com/openresty/set-misc-nginx-module/pull/25"},"issue":{"href":"https://api.github.com/repos/openresty/set-misc-nginx-module/issues/25"},"comments":{"href":"https://api.github.com/repos/openresty/set-misc-nginx-module/issues/25/comments"},"review_comments":{"href":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/25/comments"},"review_comment":{"href":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openresty/set-misc-nginx-module/pulls/25/commits"},"statuses":{"href":"https://api.github.com/repos/openresty/set-misc-nginx-module/statuses/91826012f6485d2cbf90dd8f7aa38406011fa9d2"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":7,"deletions":1,"changed_files":1}}