Skip Menu |

This queue is for tickets about the DBI CPAN distribution.

Report information
The Basics
Id: 73118
Status: resolved
Priority: 0/
Queue: DBI

People
Owner: Nobody in particular
Requestors: RURBAN [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: [PATCH] logic error with is_nested_call
There's wrong paren with is_nested_call, it does not test the parent call depth >= 1, only if 0. is_nested_call = (call_depth > 1 || (DBIc_PARENT_COM(imp_xxh) && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh))) >= 1); Also note that clang-3.1 miscompiles the && short-cut here and checks DBIc_CALL_DEPTH even if DBIc_PARENT_COM is zero. -- Reini Urban
Subject: DBI-1.616-nested_call.patch
difforig diff -u ./DBI.xs.orig --- ./DBI.xs.orig 2010-12-21 16:59:27.000000000 -0600 +++ ./DBI.xs 2011-12-08 16:01:09.061806831 -0600 @@ -3237,8 +3237,7 @@ } } - is_nested_call = (call_depth > 1 || (DBIc_PARENT_COM(imp_xxh) && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh))) >= 1); - + is_nested_call = (call_depth > 1 || (DBIc_PARENT_COM(imp_xxh) && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh)) >= 1)); /* --- dispatch --- */
Fixed. Thanks.