gas totalfrags

Alan Modra amodra@gmail.com
Wed Jan 1 12:28:26 GMT 2025


Avoid any possibility of signed overflow.  (Seen on oss-fuzz).

	* frags.c (totalfrags): Make unsigned.
	(get_frag_count): Return unsigned.
	* frags.h (get_frag_count): Likewise.

diff --git a/gas/frags.c b/gas/frags.c
index c154a5a2b7e..a57a4d56187 100644
--- a/gas/frags.c
+++ b/gas/frags.c
@@ -25,9 +25,9 @@
 extern fragS zero_address_frag;
 extern fragS predefined_address_frag;
 
-static int totalfrags;
+static unsigned int totalfrags;
 
-int
+unsigned int
 get_frag_count (void)
 {
   return totalfrags;
diff --git a/gas/frags.h b/gas/frags.h
index e71a407ecca..a1dcea0be0c 100644
--- a/gas/frags.h
+++ b/gas/frags.h
@@ -155,7 +155,7 @@ bool frag_offset_fixed_p (const fragS *, const fragS *, offsetT *);
 bool frag_offset_ignore_align_p (const fragS *, const fragS *, offsetT *);
 bool frag_gtoffset_p (valueT, const fragS *, valueT, const fragS *, offsetT *);
 
-int get_frag_count (void);
+unsigned int get_frag_count (void);
 void clear_frag_count (void);
 
 #endif /* FRAGS_H */

-- 
Alan Modra


More information about the Binutils mailing list