Skip to content

Commit 43cd30b

Browse files
committed
Fix type confusion in guc_var_compare()
Before this change guc_var_compare() cast the input arguments to const struct config_generic *. That's not quite right however, as the input on one side is often just a char * on one side. Instead just use char *, the first field in config_generic. This fixes a -Warray-bounds warning with some versions of gcc. While the warning is only known to be triggered for <= 15, the issue the warning points out seems real, so apply the fix everywhere. Author: Nazir Bilal Yavuz <byavuz81@gmail.com> Reported-by: Erik Rijkers <er@xs4all.nl> Suggested-by: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/a74a1a0d-0fd2-3649-5224-4f754e8f91aa%40xs4all.nl
1 parent a0899c0 commit 43cd30b

File tree

1 file changed

+3
-3
lines changed
  • src/backend/utils/misc

1 file changed

+3
-3
lines changed

src/backend/utils/misc/guc.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,10 +1289,10 @@ find_option(const char *name, bool create_placeholders, bool skip_errors,
12891289
static int
12901290
guc_var_compare(const void *a, const void *b)
12911291
{
1292-
const struct config_generic *confa = *(struct config_generic *const *) a;
1293-
const struct config_generic *confb = *(struct config_generic *const *) b;
1292+
const char *namea = **(const char ** const *) a;
1293+
const char *nameb = **(const char ** const *) b;
12941294

1295-
return guc_name_compare(confa->name, confb->name);
1295+
return guc_name_compare(namea, nameb);
12961296
}
12971297

12981298
/*

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy