|
37 | 37 | * |
38 | 38 | * |
39 | 39 | * IDENTIFICATION |
40 | | - * $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.66 2010/01/05 21:53:58 rhaas Exp $ |
| 40 | + * $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.67 2010/01/06 01:48:09 momjian Exp $ |
41 | 41 | * |
42 | 42 | *------------------------------------------------------------------------- |
43 | 43 | */ |
@@ -249,7 +249,7 @@ CreateTableSpace(CreateTableSpaceStmt *stmt) |
249 | 249 | * '/<dboid>/<relid>.<nnn>' (XXX but do we ever form the whole path |
250 | 250 | * explicitly? This may be overly conservative.) |
251 | 251 | */ |
252 | | - if (strlen(location) >= (MAXPGPATH - 1 - 10 - 1 - 10 - 1 - 10)) |
| 252 | + if (strlen(location) >= (MAXPGPATH - 1 - OIDCHARS - 1 - OIDCHARS - 1 - OIDCHARS)) |
253 | 253 | ereport(ERROR, |
254 | 254 | (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), |
255 | 255 | errmsg("tablespace location \"%s\" is too long", |
@@ -337,7 +337,7 @@ CreateTableSpace(CreateTableSpaceStmt *stmt) |
337 | 337 | /* |
338 | 338 | * All seems well, create the symlink |
339 | 339 | */ |
340 | | - linkloc = (char *) palloc(10 + 10 + 1); |
| 340 | + linkloc = (char *) palloc(OIDCHARS + OIDCHARS + 1); |
341 | 341 | sprintf(linkloc, "pg_tblspc/%u", tablespaceoid); |
342 | 342 |
|
343 | 343 | if (symlink(location, linkloc) < 0) |
@@ -553,7 +553,7 @@ remove_tablespace_directories(Oid tablespaceoid, bool redo) |
553 | 553 | char *subfile; |
554 | 554 | struct stat st; |
555 | 555 |
|
556 | | - location = (char *) palloc(10 + 10 + 1); |
| 556 | + location = (char *) palloc(OIDCHARS + OIDCHARS + 1); |
557 | 557 | sprintf(location, "pg_tblspc/%u", tablespaceoid); |
558 | 558 |
|
559 | 559 | /* |
@@ -1373,7 +1373,7 @@ tblspc_redo(XLogRecPtr lsn, XLogRecord *record) |
1373 | 1373 | set_short_version(location); |
1374 | 1374 |
|
1375 | 1375 | /* Create the symlink if not already present */ |
1376 | | - linkloc = (char *) palloc(10 + 10 + 1); |
| 1376 | + linkloc = (char *) palloc(OIDCHARS + OIDCHARS + 1); |
1377 | 1377 | sprintf(linkloc, "pg_tblspc/%u", xlrec->ts_id); |
1378 | 1378 |
|
1379 | 1379 | if (symlink(location, linkloc) < 0) |
|
0 commit comments