From: dahyeong.kim Date: Mon, 15 Apr 2013 01:27:40 +0000 (+0900) Subject: [prevent] fix dead code & null-terminate string X-Git-Tag: accepted/tizen_2.1/20130425.034849~63 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03e5d1677f5bbf79b886c384d5806dd1b4d7b141;p=framework%2Fosp%2Fappfw.git [prevent] fix dead code & null-terminate string Change-Id: Id3d8ec58c3c2ddc31fceb4fe57feb87f0e3f37a6 Signed-off-by: dahyeong.kim --- diff --git a/src/base/utility/FBaseUtil_ScannerImpl.cpp b/src/base/utility/FBaseUtil_ScannerImpl.cpp index 0d70dbe..b0d19dc 100644 --- a/src/base/utility/FBaseUtil_ScannerImpl.cpp +++ b/src/base/utility/FBaseUtil_ScannerImpl.cpp @@ -78,7 +78,7 @@ result _ScannerImpl::Construct(const String& filePath, const String& encodingSch long int readCnt = 0; pFilePath = _StringConverter::CopyToCharArrayN(filePath); - SysTryReturnResult(NID_BASE_UTIL, pFilePath != null, r = GetLastResult(), "File path length < 0 or E_OUT_OF_MEMORY"); + SysTryReturnResult(NID_BASE_UTIL, pFilePath != null, GetLastResult(), "File path length < 0 or E_OUT_OF_MEMORY"); res = converter.OpenConverter(encodingScheme); r = GetLastResult(); @@ -92,20 +92,20 @@ result _ScannerImpl::Construct(const String& filePath, const String& encodingSch SysTryCatch(NID_BASE_UTIL, retVal != 0, r = E_IO, E_IO, "[%s] Failed to get information about the file.", GetErrorMessage(__ConvertNativeErrorToResult(errno))); - fileSize = st.st_size; + fileSize = st.st_size + 1; // +1 for null-terminated string buffer = static_cast(calloc(fileSize, sizeof(char))); SysTryCatch(NID_BASE_UTIL, buffer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY]"); - readCnt = fread(buffer, 1, fileSize, pFile); + readCnt = fread(buffer, 1, fileSize - 1, pFile); if (readCnt < fileSize) { int ret = ferror(pFile); - SysTryCatch(NID_BASE_UTIL, ret != 0, r = E_IO, E_IO, "[E_IO] Failed to perform read operation."); + SysTryCatch(NID_BASE_UTIL, ret != 0, r = E_IO, E_IO, "[%s] Failed to perform read operation.", GetErrorMessage(E_IO)); } __pParseStr = converter.ConvertToUcharN(buffer, fileSize); - SysTryCatch(NID_BASE_UTIL, __pParseStr != null, r = E_IO, E_IO , "[E_IO] charcater conversion failed."); + SysTryCatch(NID_BASE_UTIL, __pParseStr != null, r = E_IO, E_IO , "[%s] charcater conversion failed.", GetErrorMessage(E_IO)); __isAllocatedOnHeap = true; CATCH: @@ -143,7 +143,7 @@ bool _ScannerImpl::HasNextToken(const String& pattern) int length = 0; r = GetNextToken(pattern, token, length); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_FOUND, "[E_DATA_NOT_FOUND] Can not get the next token"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_FOUND, "[%s] Can not get the next token", GetErrorMessage(E_DATA_NOT_FOUND)); return true; } @@ -179,13 +179,12 @@ result _ScannerImpl::GetNextToken(const String& pattern, String& nextStr) String anyPattern(ANY_PATTERN); r = GetNextToken(anyPattern, str1, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_FOUND, "The next token does not match to the pattern"); r = GetNextToken(pattern, str2, length); - SysTryReturnResult(NID_BASE_UTIL, ((r != E_SUCCESS) && (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, - "[E_DATA_NOT_ENOUGH] Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_FOUND, "The next token does not match to the pattern"); @@ -212,7 +211,7 @@ result _ScannerImpl::GetNextSignedChar(signed char& nextSignedChar, int radix) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to signed char"); /* if(out.GetLength() > 1) @@ -243,7 +242,7 @@ bool _ScannerImpl::IsNextTokenConvertibleToSignedChar(int radix) char ch = 0; r = GetNextToken(pattern, out, length); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get the next token as signed char"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get the next token as signed char", GetErrorMessage(E_NUM_FORMAT)); /* if(out.GetLength() > 1) { @@ -251,7 +250,7 @@ bool _ScannerImpl::IsNextTokenConvertibleToSignedChar(int radix) }*/ r = Int8::Parse(out, radix, ch); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not parse the token to signed char"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not parse the token to signed char", GetErrorMessage(E_NUM_FORMAT)); return true; } @@ -269,7 +268,7 @@ result _ScannerImpl::GetNextInt(int& nextInt, int radix) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to integer"); @@ -296,11 +295,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToInt(int radix) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get the next token as integer"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get the next token as integer", GetErrorMessage(E_NUM_FORMAT)); out.Replace(DEFAULT_GROUP_SEPARATOR, L""); r = Integer::Parse(out, radix, val); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next Integer"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next Integer", GetErrorMessage(E_NUM_FORMAT)); return true; } @@ -318,7 +317,7 @@ result _ScannerImpl::GetNextShort(short& nextShort, int radix) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to short"); @@ -345,11 +344,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToShort(int radix) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as short"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as short", GetErrorMessage(E_NUM_FORMAT)); out.Replace(DEFAULT_GROUP_SEPARATOR, L""); r = Short::Parse(out, radix, val); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next short"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next short", GetErrorMessage(E_NUM_FORMAT)); return true; } @@ -362,7 +361,7 @@ result _ScannerImpl::GetNextLongLong(long long& nextLongLong) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to long long"); @@ -384,10 +383,10 @@ bool _ScannerImpl::IsNextTokenConvertibleToLongLong(void) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as long long"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as long long"); r = LongLong::Parse(out, val); - SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next long long"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next long long"); return true; } @@ -400,7 +399,7 @@ result _ScannerImpl::GetNextFloat(float& nextFloat) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to float"); @@ -424,11 +423,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToFloat(void) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as float"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as float", GetErrorMessage(E_NUM_FORMAT)); out.Replace(DEFAULT_GROUP_SEPARATOR, L""); r = Float::Parse(out, val); - SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next float"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next float", GetErrorMessage(E_NUM_FORMAT)); return true; } @@ -441,7 +440,7 @@ result _ScannerImpl::GetNextDouble(double& nextDouble) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to double"); @@ -463,11 +462,11 @@ bool _ScannerImpl::IsNextTokenConvertibleToDouble(void) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as double"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as double", GetErrorMessage(E_NUM_FORMAT)); out.Replace(DEFAULT_GROUP_SEPARATOR, L""); r = Double::Parse(out, val); - SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token", GetErrorMessage(E_NUM_FORMAT)); return true; } @@ -480,13 +479,13 @@ result _ScannerImpl::GetNextBool(bool& nextBool) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturnResult(NID_BASE_UTIL, ((r == E_SUCCESS) || (r == E_DATA_NOT_ENOUGH)), E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS || r == E_DATA_NOT_ENOUGH, E_DATA_NOT_ENOUGH, "Input has no remaining tokens"); SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not parse the token to bool"); String temp; r = out.ToUpper(temp); - SysTryReturnResult(NID_BASE_UTIL, (r == E_SUCCESS), E_NUM_FORMAT, "Can not get next bool"); + SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_NUM_FORMAT, "Can not get next bool"); if(!temp.CompareTo(L"TRUE")) { @@ -515,7 +514,7 @@ bool _ScannerImpl::IsNextTokenConvertibleToBool(void) String pattern(ANY_PATTERN); r = GetNextToken(pattern, out, length); - SysTryReturn(NID_BASE_UTIL, (r == E_SUCCESS), false, E_NUM_FORMAT, "[E_NUM_FORMAT] Can not get next token as bool"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_NUM_FORMAT, "[%s] Can not get next token as bool", GetErrorMessage(E_NUM_FORMAT)); String temp; out.ToUpper(temp); @@ -540,13 +539,13 @@ bool _ScannerImpl::HasNextLine(void) bool res = false; r = regex.Construct(pattern, REGEX_UNICODE); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[E_DATA_NOT_ENOUGH] Regular expression construction failed"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[%s] Regular expression construction failed", GetErrorMessage(E_DATA_NOT_ENOUGH)); r = matchedStrList.Construct(); - SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[E_DATA_NOT_ENOUGH] Arraylist construction failed"); + SysTryReturn(NID_BASE_UTIL, r == E_SUCCESS, false, E_DATA_NOT_ENOUGH, "[%s] Arraylist construction failed", GetErrorMessage(E_DATA_NOT_ENOUGH)); res = regex.Match(String(__pParseStr + __position), false, &matchedStrList); - SysTryReturn(NID_BASE_UTIL, (res == true), false, E_DATA_NOT_ENOUGH, "[E_DATA_NOT_ENOUGH] Match Failed"); + SysTryReturn(NID_BASE_UTIL, res == true, false, E_DATA_NOT_ENOUGH, "[%s] Match Failed", GetErrorMessage(E_DATA_NOT_ENOUGH)); return res; } @@ -568,7 +567,7 @@ result _ScannerImpl::GetNextLine(String& nextLine) SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_ENOUGH, "Arraylist construction failed"); res = regex.Match(String(__pParseStr + __position), false, &matchedStrList); - SysTryReturnResult(NID_BASE_UTIL, (res == true), E_DATA_NOT_ENOUGH, "Match Failed"); + SysTryReturnResult(NID_BASE_UTIL, res == true, E_DATA_NOT_ENOUGH, "Match Failed"); matches = matchedStrList.GetCount(); if(matches > 0) @@ -603,7 +602,7 @@ result _ScannerImpl::FindInLine(const String& str, String& MatchedStr) SysTryReturnResult(NID_BASE_UTIL, r == E_SUCCESS, E_DATA_NOT_FOUND, "Arraylist construction failed"); res = regex.Match(String(__pParseStr + __position), false, &matchedStrList); - SysTryReturnResult(NID_BASE_UTIL, (res == true), E_DATA_NOT_FOUND, "Match Failed"); + SysTryReturnResult(NID_BASE_UTIL, res == true, E_DATA_NOT_FOUND, "Match Failed"); matches = matchedStrList.GetCount(); if(matches > 0)