# HG changeset patch # User normaldotcom # Date 2010-03-18 23:57:41 # Node ID 8ee4266bf89b48c053ffc6286c7a451101cf1088 # Parent 438aba733ea856574da69885798360259fc97f5d Fixed segfault on no work available diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -733,17 +733,21 @@ int _web_getwork(int slavekey, char *sla free(data.memory); return 0; } - // Compare to PACKAGE_VERSIOn + // Compare to PACKAGE_VERSION else{ char *tmp; char *serverversion; - tmp = strtok (data.memory,","); + tmp = strtok (data.memory,",,"); if(tmp != NULL){ // make sure work is available *jobnum = atoi(tmp); tmp = strtok (NULL, ","); + if(tmp == NULL) + return 0; // no work *framenum = atoi(tmp); tmp = strtok (NULL, ","); + if(tmp == NULL) + return 0; // no work serverversion = tmp; if(strcmp(PACKAGE_VERSION,serverversion)){ fprintf(stderr,"Your distren package is out of date! Please acquire a newer version. (%s local vs %s remote)\n", PACKAGE_VERSION, serverversion);