Если выделить память и не инициализировать в WebAssembly (компилирую C++, выделаю через malloc) — то там уже все нули, т.е. как бы проинициализирована. Это во всех браузерах обязательно так, где-то регламентировано? Или же в памяти можно чего-то интересного обнаружить из данных процесса браузера?
Здравствуйте, Shmj, Вы писали:
S>Если выделить память и не инициализировать в WebAssembly (компилирую C++, выделаю через malloc) — то там уже все нули, т.е. как бы проинициализирована. Это во всех браузерах обязательно так, где-то регламентировано? Или же в памяти можно чего-то интересного обнаружить из данных процесса браузера?
Есть спецификации, но почитать лень? Я не читал, но думаю, что нули не прописаны. Но вменяемые браузеры будут отдавать нули.
А обнаружить интересное можно всегда, если покопать хорошенько.
В wasm нет понятия выделения памяти. Память выделяется тем, кто инициализирует wasm, в браузере это жаваскрипт. В жаваскрипте, конечно, память будет нулями забита. Если ты wasm запускаешь по-другому, то может быть чем угодно инициализирована, как я понимаю (хотя вряд ли кто-то будет так делать).