[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RTC x1226 配列サイズオーバ



清原です


# console の件は一段落ってとこかなとか思ってますが、、、

OpenBlockS266 の RTC の現実装は自動変数の配列サイズを越えて
アクセスしてるんですが、これっていつまでたっても直してもらえ
ずちょっと困っています。

これって私のアピール不足なんでしょうか‥
kern/23825 に登録してるのですが。
せめてここだけでも直して下さる人いないでしょうか?


sys/dev/i2c/x1226.c
  xrtc_clock_write()

    u_int8_t bcd[X1226_REG_RTC_SIZE], cmdbuf[2];

       .

    bcd[X1226_REG_SC - X1226_REG_RTC_BASE] = TOBCD(dt->dt_sec);

以降、X1226_REG_MN, X1226_REG_HR, X1226_REG_DW, X1226_REG_DT,
X1226_REG_MO, X1226_REG_YR, X1226_REG_Y2K の合計 8 つを同じように
処理します。


sys/dev/i2c/x1226reg.h

  #define	X1226_REG_Y2K		0x37	/* bcd century (19/20) */

    .

  #define	X1226_REG_RTC_BASE	0x30
  #define	X1226_REG_RTC_SIZE	(X1226_REG_Y2K - X1226_REG_RTC_BASE)


しかし、上記のようなマクロでは 0x37 - 0x30 で値は 7 になってしまいます。


なんとかお願い致します。
--
kiyohara