]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r5717: BUG 2215: horrible code in nmbd_winsproxy.c; gcc folks at redhat claim its...
authorGerald Carter <jerry@samba.org>
Wed, 9 Mar 2005 22:20:40 +0000 (22:20 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:55:56 +0000 (10:55 -0500)
source/nmbd/nmbd_winsproxy.c

index b01ffcffc162393da927fd475ca443e909cee580..75319724616d4c9d5e4283e75947e72815578f83 100644 (file)
@@ -190,12 +190,15 @@ void make_wins_proxy_name_query_request( struct subnet_record *subrec,
                                          struct packet_struct *incoming_packet,
                                          struct nmb_name *question_name)
 {
-       long *ud[(sizeof(struct userdata_struct) + sizeof(struct subrec *) + 
-               sizeof(struct packet_struct *))/sizeof(long *) + 1];
-       struct userdata_struct *userdata = (struct userdata_struct *)ud;
+       union {
+           struct userdata_struct ud;
+           char c[sizeof(struct userdata_struct) + sizeof(struct subrec *) + 
+               sizeof(struct packet_struct *)+sizeof(long*)];
+       } ud;
+       struct userdata_struct *userdata = &ud.ud;
        unstring qname;
 
-       memset(ud, '\0', sizeof(ud));
+       memset(&ud, '\0', sizeof(ud));
  
        userdata->copy_fn = wins_proxy_userdata_copy_fn;
        userdata->free_fn = wins_proxy_userdata_free_fn;