OACR Warnings

DDKというか、Windows Driver Kitでビルドしていたら、警告が表示された。
OACRっていうのが動いているなぁとは思っていたけど、こういう風に警告が表示されるんだと初めて知る。

f:id:espresso3389:20090920121248p:image

内容は、vsprintfなんて危険なAPI使うなよというもの。事前に_vscprintfでバッファサイズを取得しているものの、確かに、この狭間に裏でsetlocaleとかされると危険な気がする。後でどうにかして修正しておこう。

追記: ロケールとスレッド

マルチスレッドとロケール

によると、_configthreadlocaleを使って、setlocaleの影響範囲を変更できるらしい。

// スレッド毎のロケールを有効にする
_configthreadlocale(_ENABLE_PER_THREAD_LOCALE)