You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by jy...@apache.org on 2016/07/06 02:32:02 UTC

incubator-hawq git commit: HAWQ-893. Only copy and index status_str_length

Repository: incubator-hawq
Updated Branches:
  refs/heads/master 3ba7d8ef4 -> 5323b5b90


HAWQ-893. Only copy and index status_str_length

Previously status_str was being indexed with a value that overflowed its
expected length and would zero-out the string 'test'


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/5323b5b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/5323b5b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/5323b5b9

Branch: refs/heads/master
Commit: 5323b5b90d077579134a5254d822a54fbc2093bd
Parents: 3ba7d8e
Author: Kavinder Dhaliwal <ka...@gmail.com>
Authored: Tue Jul 5 19:00:26 2016 -0700
Committer: yaoj2 <jy...@pivotal.io>
Committed: Wed Jul 6 10:31:27 2016 +0800

----------------------------------------------------------------------
 src/test/regress/pg_regress.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/5323b5b9/src/test/regress/pg_regress.c
----------------------------------------------------------------------
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index ffe2161..42b607c 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -602,11 +602,12 @@ load_expected_statuses(char *filename)
 		strncpy(test, buf, sep_index);
 		test[sep_index+1] = '\0';
 
-		char status_str[strlen(buf)-sep_index];
+		int status_str_length = strlen(buf)-sep_index;
+		char status_str[status_str_length];
 		memset(status_str, 0, sizeof(status_str));
 
-		strncpy(status_str, buf + sep_index +1, strlen(buf));
-		status_str[sep_index+1] = '\0';
+		strncpy(status_str, buf + sep_index +1, status_str_length);
+		status_str[status_str_length] = '\0';
 
 		line_valid = (sscanf(status_str, "%d", (int *) (&status)) == 1);