SHA256
1
0
forked from pool/bird
bird/bufferoverflow.patch

33 lines
748 B
Diff

Index: bird-1.6.3/proto/rip/packets.c
===================================================================
--- bird-1.6.3.orig/proto/rip/packets.c
+++ bird-1.6.3/proto/rip/packets.c
@@ -56,13 +56,20 @@ struct rip_block_auth
{
u16 must_be_ffff;
u16 auth_type;
- char password[0];
- u16 packet_len;
- u8 key_id;
- u8 auth_len;
- u32 seq_num;
- u32 unused1;
- u32 unused2;
+ /*
+ * use anonymous struct/union to get around a fortify source warnings about overwriting the password buffer
+ */
+ union {
+ char password[RIP_PASSWD_LENGTH];
+ struct {
+ u16 packet_len;
+ u8 key_id;
+ u8 auth_len;
+ u32 seq_num;
+ u32 unused1;
+ u32 unused2;
+ }
+ };
};
/* Authentication tail, RFC 4822 */