AB项,(1)刑法中的“买卖”、“贩卖”。第一,客观上要求有偿转让。第二,有偿的方式,不限于金钱货币,可以是其他物质利益,可以物物交换。(2)非法买卖枪支罪中的“买卖”,既处罚“卖”,也处罚“买”。卖,包括先买进后卖出,也包括单纯的卖出。买,包括为卖出而买进,也包括为自己使用而买进。
题中,甲用枪支,乙用毒品,进行交换,甲属于卖枪支,构成非法买卖枪支罪;甲购买毒品用于自己吸食不构成贩卖毒品罪。但是甲将毒品放在家里构成非法持有毒品罪,该罪和非法买卖枪支罪应当数罪并罚。B项说法正确。
乙属于买枪支,构成非法买卖枪支罪。乙出售毒品行为构成贩卖毒品罪。一买一卖,是两个行为,分别构成两个罪,不属于想象竞合犯,而应数罪并罚。A项说法错误。
C项,准自首,是指甲因A罪行被采取强制措施后,甲如实供述司法机关尚未掌握的B罪行。如实供述的B罪行必须与司法机关已掌握的A罪行属于不同种罪行。
后罪行与前罪行是不是同种罪行,一般以罪名区分,不同罪名便是不同种罪行。但是,根据司法解释,虽然罪名不同,但二者属于选择性罪名或者在法律、事实上密切关联(如吸收关系、牵连关系等),则仍属于同种罪行的范畴。例1,甲因受贿被采取强制措施后,又交代因受贿为他人谋取利益的行为,构成滥用职权罪的,应认定为同种罪行。例2,甲因出售假币罪被捕,又交代自己购买假币的罪行,应认定为同种罪行。例3,甲因组织卖淫被捕,又交代自己强迫卖淫的罪行,应认定为同种罪行。
本题中,乙因非法持有枪支罪被采取强制措施后,主动交代非法买卖枪支罪的犯罪事实。这两项罪名在事实上具有密切联系,仍然属于同种罪行的范畴,因此乙不构成准自首,而属于坦白。C项说法错误。
D项,立功问题。
(1)“揭发他人犯罪”型的立功。乙主动交代从甲处购买枪支,揭发甲的非法买卖枪支罪,构成立功。乙只有将卖家甲供出来,才属于“如实供述”了自己的非法买卖枪支罪,才成立坦白。因此,乙整体上只干了一件事,也即“将卖家供出来”,同时符合了坦白和立功,二者是竞合关系,选择一个更有利于乙的结论加以认定,最终认定为立功。因此,D项说法正确。
(2)“协助抓捕犯罪人”型的立功。乙还提供了卖家甲的家庭住址信息,协助警方抓捕甲。
司法解释规定:犯罪分子提供司法机关尚未掌握的其他案件的犯罪嫌疑人的联络方式、藏匿地址,构成立功。犯罪分子提供同案犯犯罪后的新信息,例如,新的联络方式、藏匿地址,才可能构成立功。提供同案犯的姓名、住址、体貌特征等基本情况,或者提供犯罪前、犯罪中掌握的同案犯联络方式、藏匿地址,这些信息都不属于犯罪后的新信息,不构成立功。
注意,该规定中的“同案犯”包括对向犯,因为对向犯属于同一个案件的犯罪人。例如,行贿罪与受贿罪是对向犯。甲向官员乙行贿,乙受贿。甲因行贿罪被抓后,提供乙一直未变的家庭住址,司法机关据此抓捕了乙。甲乙是同案犯。甲提供的乙的藏匿地址是乙犯罪前的地址,不是犯罪后新的藏匿地址,不构成立功。
本题中,甲乙是非法买卖枪支罪这个案件的同案犯,乙提供的是甲的家庭住址,应该属于甲一直居住的地址,不属于犯罪后新的藏匿地址。就此而言,乙不构成立功。
综上所述,本题答案为BD。