trafficserver git commit: TS-3224: fix problem of ts_lua coredump
Repository: trafficserver Updated Branches: refs/heads/master 156b7be9c - 60c97c6f0 TS-3224: fix problem of ts_lua coredump Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/60c97c6f Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/60c97c6f Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/60c97c6f Branch: refs/heads/master Commit: 60c97c6f04538a1cd176f412dfc2622b9008936e Parents: 156b7be Author: Kit Chan kic...@apache.org Authored: Wed Dec 10 06:17:50 2014 -0800 Committer: Kit Chan kic...@apache.org Committed: Wed Dec 10 06:17:50 2014 -0800 -- CHANGES | 2 ++ plugins/experimental/ts_lua/ts_lua_cached_response.c | 8 ++-- plugins/experimental/ts_lua/ts_lua_client_request.c | 14 +++--- plugins/experimental/ts_lua/ts_lua_client_response.c | 8 ++-- plugins/experimental/ts_lua/ts_lua_server_request.c | 6 +- plugins/experimental/ts_lua/ts_lua_server_response.c | 9 +++-- 6 files changed, 37 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/CHANGES -- diff --git a/CHANGES b/CHANGES index c091270..51f119e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 5.3.0 + *) [TS-3224] fix ts_lua core dump issue. + *) [TS-3229] Filter unsupported epic metric names. *) [TS-3230] Remove unused ink_error APIs. http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/plugins/experimental/ts_lua/ts_lua_cached_response.c -- diff --git a/plugins/experimental/ts_lua/ts_lua_cached_response.c b/plugins/experimental/ts_lua/ts_lua_cached_response.c index abc30b7..74935fb 100644 --- a/plugins/experimental/ts_lua/ts_lua_cached_response.c +++ b/plugins/experimental/ts_lua/ts_lua_cached_response.c @@ -131,8 +131,12 @@ ts_lua_cached_response_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx-cached_response_bufp, http_ctx-cached_response_hdrp); - n = snprintf(buf, sizeof(buf) - 1, %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - lua_pushlstring(L, buf, n); + n = snprintf(buf, sizeof(buf), %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); + if(n = sizeof(buf)) { +lua_pushlstring(L, buf, sizeof(buf) - 1); + } else { +lua_pushlstring(L, buf, n); + } return 1; } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/plugins/experimental/ts_lua/ts_lua_client_request.c -- diff --git a/plugins/experimental/ts_lua/ts_lua_client_request.c b/plugins/experimental/ts_lua/ts_lua_client_request.c index 9d6cd26..14a5353 100644 --- a/plugins/experimental/ts_lua/ts_lua_client_request.c +++ b/plugins/experimental/ts_lua/ts_lua_client_request.c @@ -499,7 +499,11 @@ ts_lua_client_request_get_uri(lua_State * L) uri_len = snprintf(uri, TS_LUA_MAX_URL_LENGTH, /%.*s, path_len, path); - lua_pushlstring(L, uri, uri_len); + if(uri_len = TS_LUA_MAX_URL_LENGTH) { +lua_pushlstring(L, uri, TS_LUA_MAX_URL_LENGTH - 1); + } else { +lua_pushlstring(L, uri, uri_len); + } return 1; } @@ -762,8 +766,12 @@ ts_lua_client_request_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx-client_request_bufp, http_ctx-client_request_hdrp); - n = snprintf(buf, sizeof(buf) - 1, %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - lua_pushlstring(L, buf, n); + n = snprintf(buf, sizeof(buf), %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); + if (n = sizeof(buf)) { +lua_pushlstring(L, buf, sizeof(buf) - 1); + } else { +lua_pushlstring(L, buf, n); + } return 1; } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/plugins/experimental/ts_lua/ts_lua_client_response.c -- diff --git a/plugins/experimental/ts_lua/ts_lua_client_response.c b/plugins/experimental/ts_lua/ts_lua_client_response.c index ac98869..9c8030d 100644 --- a/plugins/experimental/ts_lua/ts_lua_client_response.c +++ b/plugins/experimental/ts_lua/ts_lua_client_response.c @@ -309,8 +309,12 @@ ts_lua_client_response_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx-client_response_bufp, http_ctx-client_response_hdrp); - n = snprintf(buf, sizeof(buf) - 1, %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - lua_pushlstring(L, buf, n); + n = snprintf(buf, sizeof(buf), %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); + if (n = sizeof(buf))
Re: trafficserver git commit: TS-3224: fix problem of ts_lua coredump
On Dec 10, 2014, at 6:18 AM, kic...@apache.org wrote: Repository: trafficserver Updated Branches: refs/heads/master 156b7be9c - 60c97c6f0 TS-3224: fix problem of ts_lua coredump Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/60c97c6f Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/60c97c6f Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/60c97c6f Branch: refs/heads/master Commit: 60c97c6f04538a1cd176f412dfc2622b9008936e Parents: 156b7be Author: Kit Chan kic...@apache.org Authored: Wed Dec 10 06:17:50 2014 -0800 Committer: Kit Chan kic...@apache.org Committed: Wed Dec 10 06:17:50 2014 -0800 -- CHANGES | 2 ++ plugins/experimental/ts_lua/ts_lua_cached_response.c | 8 ++-- plugins/experimental/ts_lua/ts_lua_client_request.c | 14 +++--- plugins/experimental/ts_lua/ts_lua_client_response.c | 8 ++-- plugins/experimental/ts_lua/ts_lua_server_request.c | 6 +- plugins/experimental/ts_lua/ts_lua_server_response.c | 9 +++-- 6 files changed, 37 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/CHANGES -- diff --git a/CHANGES b/CHANGES index c091270..51f119e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 5.3.0 + *) [TS-3224] fix ts_lua core dump issue. + *) [TS-3229] Filter unsupported epic metric names. *) [TS-3230] Remove unused ink_error APIs. http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/plugins/experimental/ts_lua/ts_lua_cached_response.c -- diff --git a/plugins/experimental/ts_lua/ts_lua_cached_response.c b/plugins/experimental/ts_lua/ts_lua_cached_response.c index abc30b7..74935fb 100644 --- a/plugins/experimental/ts_lua/ts_lua_cached_response.c +++ b/plugins/experimental/ts_lua/ts_lua_cached_response.c @@ -131,8 +131,12 @@ ts_lua_cached_response_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx-cached_response_bufp, http_ctx-cached_response_hdrp); - n = snprintf(buf, sizeof(buf) - 1, %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - lua_pushlstring(L, buf, n); + n = snprintf(buf, sizeof(buf), %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); + if(n = sizeof(buf)) { +lua_pushlstring(L, buf, sizeof(buf) - 1); + } else { +lua_pushlstring(L, buf, n); + } Maybe a common function, instead of 4 copies of this code? return 1; } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/plugins/experimental/ts_lua/ts_lua_client_request.c -- diff --git a/plugins/experimental/ts_lua/ts_lua_client_request.c b/plugins/experimental/ts_lua/ts_lua_client_request.c index 9d6cd26..14a5353 100644 --- a/plugins/experimental/ts_lua/ts_lua_client_request.c +++ b/plugins/experimental/ts_lua/ts_lua_client_request.c @@ -499,7 +499,11 @@ ts_lua_client_request_get_uri(lua_State * L) uri_len = snprintf(uri, TS_LUA_MAX_URL_LENGTH, /%.*s, path_len, path); - lua_pushlstring(L, uri, uri_len); + if(uri_len = TS_LUA_MAX_URL_LENGTH) { +lua_pushlstring(L, uri, TS_LUA_MAX_URL_LENGTH - 1); + } else { +lua_pushlstring(L, uri, uri_len); + } return 1; } @@ -762,8 +766,12 @@ ts_lua_client_request_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx-client_request_bufp, http_ctx-client_request_hdrp); - n = snprintf(buf, sizeof(buf) - 1, %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - lua_pushlstring(L, buf, n); + n = snprintf(buf, sizeof(buf), %d.%d, TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); + if (n = sizeof(buf)) { +lua_pushlstring(L, buf, sizeof(buf) - 1); + } else { +lua_pushlstring(L, buf, n); + } return 1; } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/60c97c6f/plugins/experimental/ts_lua/ts_lua_client_response.c -- diff --git a/plugins/experimental/ts_lua/ts_lua_client_response.c b/plugins/experimental/ts_lua/ts_lua_client_response.c index ac98869..9c8030d 100644 --- a/plugins/experimental/ts_lua/ts_lua_client_response.c +++ b/plugins/experimental/ts_lua/ts_lua_client_response.c @@ -309,8 +309,12 @@ ts_lua_client_response_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx-client_response_bufp, http_ctx-client_response_hdrp); - n = snprintf(buf,