apr-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 59070] New: read error for CLOB in Oracle dbd driver
Date Thu, 25 Feb 2016 21:30:52 GMT
https://bz.apache.org/bugzilla/show_bug.cgi?id=59070

            Bug ID: 59070
           Summary: read error for CLOB in Oracle dbd driver
           Product: APR
           Version: HEAD
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: APR-util
          Assignee: bugs@apr.apache.org
          Reporter: chrisd@apache.org

Created attachment 33594
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=33594&action=edit
fix for CLOB reads in apr_dbd_oracle.c

I bumped into a bug recently (actually, in APR-util 1.5.x but it's also in APR
trunk) where CLOBs are not readable due to a failed check on the val->type in
dbd_oracle_get_entry() in dbd/apr_dbd_oracle.c.

In the surrounding switch statement, val->type has been determined to be one of
the Oracle SQLT_BLOB or SQLT_CLOB values.  Then, to handle the CLOB case
specifically, val->type is tested again but now it is incorrectly checked
against APR_DBD_TYPE_CLOB instead of SQLT_CLOB.

That always fails, so CLOBs are treated as BLOBs, insufficient space may be
allocated, and then trouble ensues.

The patch attached has been running in production for a long time; I just never
realized I hadn't reported it to the APR list.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@apr.apache.org
For additional commands, e-mail: bugs-help@apr.apache.org


Mime
View raw message