diff -r 6d3770b1a9e1 -r 6ef9b2adca64 virtual.c --- a/virtual.c Sun May 23 08:30:42 2010 +0200 +++ b/virtual.c Sun May 23 08:39:19 2010 +0200 @@ -75,13 +75,15 @@ char *dot=rindex(strip,'.'); if(dot) { *dot=0; - asprintf(&real_virt_name,"%s.%d",strip,disknum+virt_off); + if(asprintf(&real_virt_name,"%s.%d",strip,disknum+virt_off)<0) + error("error making virtual name"); } else serror("Bad filename format"); free(strip); } else { - asprintf(&real_virt_name,"%s.%d",virt_name,disknum); + if(asprintf(&real_virt_name,"%s.%d",virt_name,disknum)<0) + error("error making virtual name"); } DEBUG("Vopen: real filename is '%s' disknum=%d virt_off=%d\n", real_virt_name,disknum,virt_off);