diff options
author | Daniel Gustafsson <dgustafsson@postgresql.org> | 2025-02-06 15:13:40 +0100 |
---|---|---|
committer | Daniel Gustafsson <dgustafsson@postgresql.org> | 2025-02-06 15:13:40 +0100 |
commit | affd38e55a3cabbc4c64198dde71c22a94877690 (patch) | |
tree | c640b8dcc199ac433be061dfdb97a8ec65d9fab0 | |
parent | 9e020050b8fa8e184bc1d58e6a4bc1edfa76cb8c (diff) | |
download | postgresql-affd38e55a3cabbc4c64198dde71c22a94877690.tar.gz postgresql-affd38e55a3cabbc4c64198dde71c22a94877690.zip |
pgcrypto: Remove static storage class from variables
Variables p, sp and ep were labeled with static storage class
but are all assigned before use so they cannot carry any data
across calls. Fix by removing the static label.
Also while in there, make the magic variable const as it will
never change.
Author: Japin Li <japinli@hotmail.com>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/ME0P300MB0445096B67ACE8CE25772F00B6F72@ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM
-rw-r--r-- | contrib/pgcrypto/crypt-md5.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/contrib/pgcrypto/crypt-md5.c b/contrib/pgcrypto/crypt-md5.c index d38721a1010..33f93847a42 100644 --- a/contrib/pgcrypto/crypt-md5.c +++ b/contrib/pgcrypto/crypt-md5.c @@ -33,11 +33,11 @@ _crypt_to64(char *s, unsigned long v, int n) char * px_crypt_md5(const char *pw, const char *salt, char *passwd, unsigned dstlen) { - static char *magic = "$1$"; /* This string is magic for this algorithm. - * Having it this way, we can get better later - * on */ - static char *p; - static const char *sp, + static const char *magic = "$1$"; /* This string is magic for this + * algorithm. Having it this way, we + * can get better later on */ + char *p; + const char *sp, *ep; unsigned char final[MD5_SIZE]; int sl, @@ -81,7 +81,7 @@ px_crypt_md5(const char *pw, const char *salt, char *passwd, unsigned dstlen) px_md_update(ctx, (const uint8 *) pw, strlen(pw)); /* Then our magic string */ - px_md_update(ctx, (uint8 *) magic, strlen(magic)); + px_md_update(ctx, (const uint8 *) magic, strlen(magic)); /* Then the raw salt */ px_md_update(ctx, (const uint8 *) sp, sl); |