Spot the bug

Posted on Thu 30 October 2008 in misc

Another example from a long line of bugs that had me scratching my head for a while:
if (sscanf(dirname, "%8x", &scanf_id)==1)
{
// We can  extract the ID right now
su = alloc_vsSu((uint32_t) strtoul(dirname, NULL, 16));
g_assert(su->config->id.idAsUint32==scanf_id);
}
else if (g_strcmp0("default", dirname)==0)
{
// The  "default" has an id of 0
su = alloc_vsSu(0);
}

Can you tell what it was yet?