From: Krzysztof Jackiewicz Date: Fri, 3 Jul 2015 14:51:22 +0000 (+0200) Subject: Fix potential buffer overflow error CID: 40674 X-Git-Tag: accepted/tizen/mobile/20150908.231847~15 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fsecurity%2Fkey-manager.git;a=commitdiff_plain;h=a13c57abd4d4c6e90ed1e66f74f582751eded47f Fix potential buffer overflow error CID: 40674 Change backported from security-server repository. Change-Id: I7613de85e79bc5627336c70842c64bd35eb36468 --- diff --git a/src/manager/main/socket-manager.cpp b/src/manager/main/socket-manager.cpp index 44a7d3c..c0bc93f 100644 --- a/src/manager/main/socket-manager.cpp +++ b/src/manager/main/socket-manager.cpp @@ -488,6 +488,14 @@ int SocketManager::CreateDomainSocketHelp( { int sockfd; + if(desc.serviceHandlerPath.size()*sizeof(decltype(desc.serviceHandlerPath)::value_type) >= + sizeof(static_cast(0)->sun_path)) + { + 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: " << GetErrnoString(err));