diff --git a/src/afs/afs_fetchstore.c b/src/afs/afs_fetchstore.c index 35c357ac89..8db6697712 100644 --- a/src/afs/afs_fetchstore.c +++ b/src/afs/afs_fetchstore.c @@ -974,7 +974,9 @@ rxfs_fetchInit(struct afs_conn *tc, struct rx_connection *rxconn, afs_serverSetNo64Bit(tc); v->hasNo64bit = 1; } - if (!code) { + if (code) { + goto err; + } else { RX_AFS_GUNLOCK(); bytes = rx_Read(v->call, (char *)&length, sizeof(afs_int32)); RX_AFS_GLOCK(); @@ -1032,6 +1034,7 @@ rxfs_fetchInit(struct afs_conn *tc, struct rx_connection *rxconn, code = EIO; } +err: if (!code && code1) code = code1;