Merge "MTP: Sanitize filename provided from MTP host" into qt-qpr1-dev

gugelfrei
TreeHugger Robot 4 years ago committed by Android (Google) Code Review
commit 2d3c39c7ec

@ -44,6 +44,7 @@
#include "MtpStringBuffer.h"
namespace android {
static const int SN_EVENT_LOG_ID = 0x534e4554;
static const MtpOperationCode kSupportedOperationCodes[] = {
MTP_OPERATION_GET_DEVICE_INFO,
@ -961,6 +962,17 @@ MtpResponseCode MtpServer::doSendObjectInfo() {
if (!parseDateTime(modified, modifiedTime))
modifiedTime = 0;
if ((strcmp(name, ".") == 0) || (strcmp(name, "..") == 0) ||
(strchr(name, '/') != NULL)) {
char errMsg[80];
snprintf(errMsg, sizeof(errMsg), "Invalid name: %s", (const char *) name);
ALOGE("%s (b/130656917)", errMsg);
android_errorWriteWithInfoLog(SN_EVENT_LOG_ID, "130656917", -1, errMsg,
strlen(errMsg));
return MTP_RESPONSE_INVALID_PARAMETER;
}
if (path[path.size() - 1] != '/')
path.append("/");
path.append(name);

Loading…
Cancel
Save