Skip to content
Snippets Groups Projects
Commit 74dde13e authored by Bruce Momjian's avatar Bruce Momjian
Browse files

This makes encrypt() parser more strict.

Marko Kreen
parent 57040f78
No related branches found
No related tags found
No related merge requests found
......@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: px.c,v 1.1 2001/08/21 01:32:01 momjian Exp $
* $Id: px.c,v 1.2 2001/09/06 03:21:39 momjian Exp $
*/
#include <postgres.h>
......@@ -208,7 +208,7 @@ combo_free(PX_Combo *cx)
/* PARSER */
static void
static int
parse_cipher_name(char *full, char **cipher, char **pad)
{
char *p, *p2, *q;
......@@ -229,14 +229,16 @@ parse_cipher_name(char *full, char **cipher, char **pad)
p2 = strchr(p, ':');
if (p2 != NULL) {
*p2++ = 0;
if (!strcmp(p, "pad")) {
if (!strcmp(p, "pad"))
*pad = p2;
} else {
elog(ERROR, "Unknown component: '%s'", p);
}
}
else
return -1;
} else
return -1;
p = q;
}
return 0;
}
/* provider */
......@@ -255,11 +257,11 @@ px_find_combo(const char *name, PX_Combo **res)
buf = px_alloc(strlen(name) + 1);
strcpy(buf, name);
parse_cipher_name(buf, &s_cipher, &s_pad);
if (s_cipher == NULL) {
err = parse_cipher_name(buf, &s_cipher, &s_pad);
if (err) {
px_free(buf);
px_free(cx);
return -1;
return err;
}
err = px_find_cipher(s_cipher, &cx->cipher);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment