]> granicus.if.org Git - postgresql/commitdiff
libpq: Small code clarification, and avoid casting away const
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 6 Mar 2012 21:20:43 +0000 (23:20 +0200)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 6 Mar 2012 21:21:43 +0000 (23:21 +0200)
src/interfaces/libpq/fe-auth.c

index b7a3a814f0403524b69a4480b6d5bee6f88d79cf..7c7383cd9d5d74d288b9a21d9204d0d4c15d9c67 100644 (file)
@@ -739,7 +739,8 @@ static int
 pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
 {
        int                     ret;
-       char       *crypt_pwd;
+       char       *crypt_pwd = NULL;
+       const char *pwd_to_send;
 
        /* Encrypt the password if needed. */
 
@@ -771,21 +772,22 @@ pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
                                        free(crypt_pwd);
                                        return STATUS_ERROR;
                                }
+
+                               pwd_to_send = crypt_pwd;
                                break;
                        }
                case AUTH_REQ_PASSWORD:
-                       /* discard const so we can assign it */
-                       crypt_pwd = (char *) password;
+                       pwd_to_send = password;
                        break;
                default:
                        return STATUS_ERROR;
        }
        /* Packet has a message type as of protocol 3.0 */
        if (PG_PROTOCOL_MAJOR(conn->pversion) >= 3)
-               ret = pqPacketSend(conn, 'p', crypt_pwd, strlen(crypt_pwd) + 1);
+               ret = pqPacketSend(conn, 'p', pwd_to_send, strlen(pwd_to_send) + 1);
        else
-               ret = pqPacketSend(conn, 0, crypt_pwd, strlen(crypt_pwd) + 1);
-       if (areq == AUTH_REQ_MD5)
+               ret = pqPacketSend(conn, 0, pwd_to_send, strlen(pwd_to_send) + 1);
+       if (crypt_pwd)
                free(crypt_pwd);
        return ret;
 }