diff mbox

linux-user: fix realloc size of target_fd_trans.

Message ID 1453157445-1433-1-git-send-email-laurent@vivier.eu
State New
Headers show

Commit Message

Laurent Vivier Jan. 18, 2016, 10:50 p.m. UTC
target_fd_trans is an array of "TargetFdTrans *": compute size
accordingly. Use g_renew() as proposed by Paolo.

Reported-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/syscall.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Laurent Vivier Feb. 1, 2016, 1:40 p.m. UTC | #1
Ping ?

Le 18/01/2016 23:50, Laurent Vivier a écrit :
> target_fd_trans is an array of "TargetFdTrans *": compute size
> accordingly. Use g_renew() as proposed by Paolo.
> 
> Reported-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
>  linux-user/syscall.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 0cbace4..fd04e5f 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -330,8 +330,8 @@ static void fd_trans_register(int fd, TargetFdTrans *trans)
>      if (fd >= target_fd_max) {
>          oldmax = target_fd_max;
>          target_fd_max = ((fd >> 6) + 1) << 6; /* by slice of 64 entries */
> -        target_fd_trans = g_realloc(target_fd_trans,
> -                                    target_fd_max * sizeof(TargetFdTrans));
> +        target_fd_trans = g_renew(TargetFdTrans *,
> +                                  target_fd_trans, target_fd_max);
>          memset((void *)(target_fd_trans + oldmax), 0,
>                 (target_fd_max - oldmax) * sizeof(TargetFdTrans *));
>      }
>
Riku Voipio Feb. 15, 2016, 12:13 p.m. UTC | #2
Hi,

Applied to linux-user, thanks

Riku

On maanantaina 1. helmikuuta 2016 15.40.09 EET, Laurent Vivier wrote:
> Ping ?
>
> Le 18/01/2016 23:50, Laurent Vivier a écrit :
>> target_fd_trans is an array of "TargetFdTrans *": compute size
>> accordingly. Use g_renew() as proposed by Paolo.
>> 
>> Reported-by: Paolo Bonzini <pbonzini@redhat.com>
>> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
>> --- ...
>
>
diff mbox

Patch

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 0cbace4..fd04e5f 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -330,8 +330,8 @@  static void fd_trans_register(int fd, TargetFdTrans *trans)
     if (fd >= target_fd_max) {
         oldmax = target_fd_max;
         target_fd_max = ((fd >> 6) + 1) << 6; /* by slice of 64 entries */
-        target_fd_trans = g_realloc(target_fd_trans,
-                                    target_fd_max * sizeof(TargetFdTrans));
+        target_fd_trans = g_renew(TargetFdTrans *,
+                                  target_fd_trans, target_fd_max);
         memset((void *)(target_fd_trans + oldmax), 0,
                (target_fd_max - oldmax) * sizeof(TargetFdTrans *));
     }