Ignore:
Timestamp:
Jun 22, 2021, 9:00:19 PM (3 years ago)
Author:
coas-nagasima
Message:

WolfSSLとAzure IoT SDKを更新

Location:
azure_iot_hub_f767zi/trunk/azure_iot_sdk/deps/uhttp
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • azure_iot_hub_f767zi/trunk/azure_iot_sdk/deps/uhttp/src/uhttp.c

    r457 r464  
    136136    int spaceFound = 0;
    137137    const char* initSpace = NULL;
    138     char status_code[4];
     138    char status_code[4] = { 0 };
    139139
    140140    for (index = 0; index < len; index++)
     
    186186        {
    187187            colonEncountered = true;
    188             size_t keyLen = (&buffer[index])-targetPos;
    189 
    190             if (headerKey != NULL)
    191             {
    192                 free(headerKey);
    193                 headerKey = NULL;
    194             }
    195             headerKey = (char*)malloc(keyLen+1);
    196             if (headerKey == NULL)
    197             {
     188            size_t keyLen = (&buffer[index]) - targetPos;
     189
     190            if (keyLen == 0)
     191            {
     192                LogError("Invalid header name with zero length.");
    198193                result = MU_FAILURE;
    199194                continueProcessing = false;
     
    201196            else
    202197            {
    203                 memcpy(headerKey, targetPos, keyLen);
    204                 headerKey[keyLen] = '\0';
    205 
    206                 // Convert to lower case
    207                 for (size_t inner = 0; inner < keyLen; inner++)
    208                 {
    209                     headerKey[inner] = (char)tolower(headerKey[inner]);
    210                 }
    211 
    212                 targetPos = buffer+index+1;
    213                 crlfEncounted = false;
     198                if (headerKey != NULL)
     199                {
     200                    free(headerKey);
     201                    headerKey = NULL;
     202                }
     203                headerKey = (char*)malloc(keyLen + 1);
     204                if (headerKey == NULL)
     205                {
     206                    result = MU_FAILURE;
     207                    continueProcessing = false;
     208                }
     209                else
     210                {
     211                    memcpy(headerKey, targetPos, keyLen);
     212                    headerKey[keyLen] = '\0';
     213
     214                    // Convert to lower case
     215                    for (size_t inner = 0; inner < keyLen; inner++)
     216                    {
     217                        headerKey[inner] = (char)tolower(headerKey[inner]);
     218                    }
     219
     220                    targetPos = buffer+index+1;
     221                    crlfEncounted = false;
     222                }
    214223            }
    215224        }
Note: See TracChangeset for help on using the changeset viewer.