[libbluray-devel] [PATCH] Fix off-by-one errors in registers read/write functions

Xavier Bachelot xavier at bachelot.org
Wed Oct 23 18:55:40 CEST 2013


This is whitespace damaged, sorry. Let's resend.
Xavier

On 10/23/2013 05:17 PM, Xavier Bachelot wrote:
> Reported by Florian Weimer.
> https://bugzilla.redhat.com/show_bug.cgi?id=959215
> ---
>  src/libbluray/register.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/libbluray/register.c b/src/libbluray/register.c
> index 4985cc9..43751d4 100644
> --- a/src/libbluray/register.c
> +++ b/src/libbluray/register.c
> @@ -339,7 +339,7 @@ void bd_psr_restore_state(BD_REGISTERS *p)
>   int bd_gpr_write(BD_REGISTERS *p, int reg, uint32_t val)
>  {
> -    if (reg < 0 || reg > BD_GPR_COUNT) {
> +    if (reg < 0 || reg >= BD_GPR_COUNT) {
>          BD_DEBUG(DBG_BLURAY, "bd_gpr_write(%d): invalid register\n", reg);
>          return -1;
>      }
> @@ -350,7 +350,7 @@ int bd_gpr_write(BD_REGISTERS *p, int reg, uint32_t val)
>   uint32_t bd_gpr_read(BD_REGISTERS *p, int reg)
>  {
> -    if (reg < 0 || reg > BD_GPR_COUNT) {
> +    if (reg < 0 || reg >= BD_GPR_COUNT) {
>          BD_DEBUG(DBG_BLURAY, "bd_gpr_read(%d): invalid register\n", reg);
>          return -1;
>      }
> @@ -366,7 +366,7 @@ uint32_t bd_psr_read(BD_REGISTERS *p, int reg)
>  {
>      uint32_t val;
>  -    if (reg < 0 || reg > BD_PSR_COUNT) {
> +    if (reg < 0 || reg >= BD_PSR_COUNT) {
>          BD_DEBUG(DBG_BLURAY, "bd_psr_read(%d): invalid register\n", reg);
>          return -1;
>      }
> @@ -382,7 +382,7 @@ uint32_t bd_psr_read(BD_REGISTERS *p, int reg)
>   int bd_psr_setting_write(BD_REGISTERS *p, int reg, uint32_t val)
>  {
> -    if (reg < 0 || reg > BD_PSR_COUNT) {
> +    if (reg < 0 || reg >= BD_PSR_COUNT) {
>          BD_DEBUG(DBG_BLURAY, "bd_psr_write(%d, %d): invalid register\n", reg,
> val);
>          return -1;
>      }



More information about the libbluray-devel mailing list