commit 33484cfbd42690a9e980c9f4a7606b62830e1940
Author: Oswald Buddenhagen <[email protected]>
Date: Sat Aug 25 15:34:26 2012 +0200
don't crash when select() on master fails synchronously
svars->drv[S] would not be initialized yet, so cancel_sync() would
crash.
src/sync.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/src/sync.c b/src/sync.c
index 1503cff..e7f0518 100644
--- a/src/sync.c
+++ b/src/sync.c
@@ -611,6 +611,10 @@ sync_boxes( store_t *ctx[], const char *names[],
channel_conf_t *chan,
ctx[t]->uidvalidity = -1;
set_bad_callback( ctx[t], store_bad, AUX );
svars->drv[t] = ctx[t]->conf->driver;
+ }
+ /* Both boxes must be fully set up at this point, so that error exit
paths
+ * don't run into uninitialized variables. */
+ for (t = 0; t < 2; t++) {
info( "Selecting %s %s...\n", str_ms[t], ctx[t]->name );
DRIVER_CALL(select( ctx[t], (chan->ops[t] & OP_CREATE) != 0,
box_selected, AUX ));
}
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
isync-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/isync-devel