]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
libsframe: bugfix in flip_sframe
authorIndu Bhagat <indu.bhagat@oracle.com>
Wed, 26 Nov 2025 04:46:08 +0000 (20:46 -0800)
committerIndu Bhagat <indu.bhagat@oracle.com>
Wed, 26 Nov 2025 04:46:08 +0000 (20:46 -0800)
A previous commit bdb0d62281a to make flip_fde version aware added a new
argument for passing the remaning buffer size to the involved functions.
Fix the passed value to the intended.

libsframe/
        * sframe.c (flip_sframe): Correct the passed value of buf size.

libsframe/sframe.c

index 303ab077564ee3a323cac4ffb50b2e63c26b2be5..0dcc782b1f6c76a842208b8afc398f64aecb615f 100644 (file)
@@ -628,7 +628,7 @@ flip_sframe (char *frame_buf, size_t buf_size, uint32_t to_foreign)
       if (fdes >= buf_end)
        goto bad;
 
-      if (to_foreign && sframe_decode_fde (fdes, fdes - buf_end, ver,
+      if (to_foreign && sframe_decode_fde (fdes, buf_end - fdes, ver,
                                           &num_fres, &fre_type, &fre_offset,
                                           &fsz))
        goto bad;
@@ -638,7 +638,7 @@ flip_sframe (char *frame_buf, size_t buf_size, uint32_t to_foreign)
 
       fde_bytes_flipped += fsz;
 
-      if (!to_foreign && sframe_decode_fde (fdes, fdes - buf_end, ver,
+      if (!to_foreign && sframe_decode_fde (fdes, buf_end - fdes, ver,
                                            &num_fres, &fre_type, &fre_offset,
                                            &fsz))
        goto bad;