From 4b61677c5e07c55dbe16e7a383c50dc201edb06a Mon Sep 17 00:00:00 2001 From: kishoramballi Date: Mon, 12 Oct 2009 05:05:25 +0000 Subject: [PATCH] Invalid write bug for short. --- src/cache/CacheTableLoader.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cache/CacheTableLoader.cxx b/src/cache/CacheTableLoader.cxx index d0173c60..7ffd3e07 100644 --- a/src/cache/CacheTableLoader.cxx +++ b/src/cache/CacheTableLoader.cxx @@ -556,11 +556,13 @@ DbRetVal CacheTableLoader::load(AbsSqlConnection *conn, AbsSqlStatement *stmt, b while (fNameIter.hasElement()) { elem = (Identifier*) fNameIter.nextElement(); sqlStmt->getFieldInfo(tableName, (const char*)elem->name, info); - if( info->type == typeString) + if (info->type == typeString) { valBuf = AllDataType::alloc(info->type, info->length+1); - else - valBuf = AllDataType::alloc(info->type, info->length); - os::memset(valBuf,0,info->length); + os::memset(valBuf,0,info->length+1); + } else { + valBuf = AllDataType::alloc(info->type); + os::memset(valBuf,0,AllDataType::size(info->type)); + } switch(info->type) { case typeDate: -- 2.11.4.GIT