version 1.2, 2015/05/01 23:03:55
|
version 1.3, 2015/09/25 20:24:20
|
|
|
#include "ProtocolHandlerCache.h" | #include "ProtocolHandlerCache.h" |
#include "Options.h" | #include "Options.h" |
#include <MI.h> | #include <MI.h> |
|
#include <pal/intsafe.h> |
#include <pal/atomic.h> | #include <pal/atomic.h> |
#include <pal/lock.h> | #include <pal/lock.h> |
#include <pal/format.h> | #include <pal/format.h> |
|
|
_Out_ MI_Application *application) | _Out_ MI_Application *application) |
{ | { |
ApplicationObject *applicationObject; | ApplicationObject *applicationObject; |
unsigned int applicationIDLength; |
size_t applicationIDLength = 0; |
MI_Result miResult; | MI_Result miResult; |
| |
/* Before we do anything zap the extended error if it is being asked for */ | /* Before we do anything zap the extended error if it is being asked for */ |
|
|
| |
if (applicationID) | if (applicationID) |
{ | { |
applicationIDLength = (Tcslen(applicationID)+1)*sizeof(MI_Char); |
applicationObject->applicationID = NULL; |
|
|
|
if (SizeTAdd(Tcslen(applicationID), 1, &applicationIDLength) == S_OK && |
|
SizeTMult(applicationIDLength, sizeof(MI_Char), &applicationIDLength) == S_OK) |
|
{ |
applicationObject->applicationID = (MI_Char*) PAL_Malloc(applicationIDLength); | applicationObject->applicationID = (MI_Char*) PAL_Malloc(applicationIDLength); |
|
} |
|
|
if (applicationObject->applicationID == NULL) | if (applicationObject->applicationID == NULL) |
{ | { |
ChildList_DeInitialize(&applicationObject->sessionList); | ChildList_DeInitialize(&applicationObject->sessionList); |