According to the comment, the last match attempted is:
14 00 00 00 01 yy 00 00 00 STRING(YY) 01 00 00 00 00 46|50 00 00 00 00
However, the conditional that inspects the last ten bytes is followed
by a semicolon, so the printk and return statements are executed
regard- less of what the last ten bytes are.
Remove the semicolon and only execute the printk and return if the
conditional expression is true.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
const unsigned char *w = payload + 9 + y;
if (get_u32(w, 0) == 0x01 &&
(get_u16(w, 4) == 0x4600 ||
- get_u16(w, 4) == 0x5000) &&
- get_u32(w, 6) == 0x00)
- ;
+ get_u16(w, 4) == 0x5000) &&
+ get_u32(w, 6) == 0x00) {
#ifdef IPP2P_DEBUG_SOUL
- printk(KERN_DEBUG "Soulssek special client command recognized\n");
+ printk(KERN_DEBUG "Soulseek special client command recognized\n");
#endif
- return IPP2P_SOUL * 100 + 9;
+ return IPP2P_SOUL * 100 + 9;
+ }
}
}
return 0;