From: Krzysztof Jackiewicz Date: Thu, 28 Aug 2014 15:44:08 +0000 (+0200) Subject: Fix potential buffer overflow error CID: 40674 X-Git-Tag: submit/tizen_common/20140929.110645~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=803fa6c7790d13b23f7de0f950c23c8835a792c7;p=platform%2Fcore%2Fsecurity%2Fsecurity-server.git Fix potential buffer overflow error CID: 40674 Change-Id: Ib534fbd6c753624526afb904ca7595f50a288b28 --- diff --git a/src/server/main/socket-manager.cpp b/src/server/main/socket-manager.cpp index 7a94561..69b278e 100644 --- a/src/server/main/socket-manager.cpp +++ b/src/server/main/socket-manager.cpp @@ -485,6 +485,13 @@ int SocketManager::CreateDomainSocketHelp( { int sockfd; + if(desc.serviceHandlerPath.size() > sizeof(static_cast(0)->sun_path) / + sizeof(decltype(desc.serviceHandlerPath)::value_type)) { + LogError("Service handler path too long: " << desc.serviceHandlerPath.size()); + ThrowMsg(Exception::InitFailed, + "Service handler path too long: " << desc.serviceHandlerPath.size()); + } + if (-1 == (sockfd = socket(AF_UNIX, SOCK_STREAM, 0))) { int err = errno; LogError("Error in socket: " << strerror(err));