Rémi Bernon (@rbernon) commented about dlls/windows.web/json_value.c:
- UINT json_len;
- const WCHAR *json = WindowsGetStringRawBuffer( input, &json_len );
- HRESULT hr = S_OK;
- /* FIXME: Handle all JSON edge cases */
- if (json_len == 4 && !wcsncmp( L"null", json, 4 ))
- {
impl->json_value_type = JsonValueType_Null;
- }
- else if ((json_len == 4 && !wcsncmp( L"true", json, 4 )) || (json_len == 5 && !wcsncmp( L"false", json, 5 )))
- {
impl->parsed_boolean = json_len == 4;
impl->json_value_type = JsonValueType_Boolean;
- }
- else if (json[0] == '"' && json[json_len - 1] == '"')
You should probably check that json_len > 1.