diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index 4f4739836a1e9f9ef3237aa82776ba02a49cdf25..ad687f6e5679d682eb5497a9bd3c4946c45cdef1 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.9 1996/12/19 04:54:56 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.10 1996/12/19 05:01:17 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -178,7 +178,11 @@ Async_Notify(char *relname) if (!pendingNotifies) pendingNotifies = DLNewList(); - notifyName = pstrdup(relname); + /* + * Allocate memory from the global malloc pool because it needs to be + * referenced also when the transaction is finished. DZ - 26-08-1996 + */ + notifyName = strdup(relname); DLAddHead(pendingNotifies, DLNewElem(notifyName)); ScanKeyEntryInitialize(&key, 0, @@ -580,7 +584,8 @@ AsyncExistsPendingNotify(char *relname) for (p = DLGetHead(pendingNotifies); p != NULL; p = DLGetSucc(p)) { - if (!strcmp(DLE_VAL(p), relname)) + /* Use NAMEDATALEN for relname comparison. DZ - 26-08-1996 */ + if (!strncmp(DLE_VAL(p), relname, NAMEDATALEN)) return 1; }