diff options
author | Michael Adam <obnox@samba.org> | 2015-03-31 09:50:44 +0200 |
---|---|---|
committer | Venky Shankar <vshankar@redhat.com> | 2015-04-08 08:48:27 +0000 |
commit | 2a224653df93c4b3a6b3914509f314196ad61008 (patch) | |
tree | f50b9777ca91cfd50155a4b03766f6e5cf3e4b70 /xlators/features | |
parent | c262430726635ce868558f299ad494734a173774 (diff) |
features/changelog: fix possible illegal memory access (CID 1288819)
Coverity CID 1288819
strncpy executed with a limit equal to the target array
size potentially leaves the target string not null terminated.
Make sure the copied string is a valid 0 terminated string.
Change-Id: Ie2d2970f37840146aa18724be3b89e93194c8160
BUG: 789278
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-on: http://review.gluster.org/10062
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Venky Shankar <vshankar@redhat.com>
Diffstat (limited to 'xlators/features')
-rw-r--r-- | xlators/features/changelog/lib/src/gf-changelog-journal-handler.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xlators/features/changelog/lib/src/gf-changelog-journal-handler.c b/xlators/features/changelog/lib/src/gf-changelog-journal-handler.c index 538a7faff68..c4e14708b5f 100644 --- a/xlators/features/changelog/lib/src/gf-changelog-journal-handler.c +++ b/xlators/features/changelog/lib/src/gf-changelog-journal-handler.c @@ -947,7 +947,8 @@ gf_changelog_journal_init (void *xl, struct gf_brick_spec *brick) goto dealloc_private; } - (void) strncpy (jnl->jnl_brickpath, brick->brick_path, PATH_MAX); + (void) strncpy (jnl->jnl_brickpath, brick->brick_path, PATH_MAX-1); + jnl->jnl_brickpath[PATH_MAX-1] = 0; /* RFC 3986 {de,en}coding */ for (i = 0; i < 256; i++) { |