[ic] Interchange failure to check for field length

davideth at whojamadoogle.com davideth at whojamadoogle.com
Wed Feb 25 22:19:51 UTC 2026


I have an urgent problem.

Apparently, there is a glitch in interchange that allows unacceptable 
characters in the userdb file.

An order was placed, process, and credit card was filed, however, the 
userbf files is almost empty It has the user name, item, date, but 
incorrect order total as there was a shipping charge. The order was 
properly logged to tracking.asc and all details are there. email was 
sent correctly to customer and to our orders@ .

from log "Saved user information to user database: SUCCESS"

 From error.log

72.xx.xxx.xxx xxxxxxxxx:72.xx.xxx.xxx - [13/February/2026:14:24:52 
-0600] huldapag /cgi-bin/cart.cgi/ord/finalize Report posted HCPZ56522  
... -- http_user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 
Edg/144.0.0.0 remote_addr=72.xx.xxx.xxx
72.xx.xxx.xxx xxxxxxxxx:72.xx.xxx.xxx - [13/February/2026:14:24:52 
-0600] huldapag /cgi-bin/cart.cgi/ord/finalize display special page

However, this us what was saved in userdb:

User Name:   u06940     Account Status:   INACTIVE     Total Sales:  
  $40.00     Last login:   Dec 31, 1969 6:33 pm
Customer Details
Customer:
Company:
Home phone:
Work phone:
Email:

Billing Details
Same as shipping address

Shipping Details
Name:
Address:
City:
Country:
Status     Order Number     Order Date     Shipped to     Number of 
items     Subtotal     Total
Pending     HCPZ56522     Feb 13, 2026 14:24     ,     1  $40.00     $40.00


Any idea why this happened?

Any suggestions as to how the database can be fixed/corrected?

I do have previous orders from the customers, is there a way to copy 
from one customer id to another?

I would actually like to change the userid in the transactions, order,, 
etc is possible.


Ah, found the error!

72.xx.xxx.xxx xxxxxxxxx:72.xx.xxx.xxx - [13/February/2026:14:24:52 
-0600] huldacpz /cgi-bin/cart.cgi/ord/finalize set_slice error as called 
by Vend::UserDB: DBD::Pg::st execute failed:

 >>>>>>  ERROR:  value too long for type character varying(64) at 
/usr/local/interchange/lib/Vend/Table/DBI.pm line 1420.

 >
 > query was:update "userdb" SET 
"address1"=?,"address2"=?,"b_country"=?,"city"=?,"company"=?,"country"=?,"email"=?,"fname"=?,"lname"=?,"mv_shipmode"=?,"phone_day"=?,"state"=?,"zip"=?,"updated"=?,"preferences"=? 
WHERE "username" = 'u06940'
 > values were xxx
72.xx.xxx.xxx xxxxxxxx:72.xx.xxx.xxx - [13/February/2026:14:24:52 -0600] 
huldacpz /cgi-bin/cart.cgi/ord/finalize Report posted HCPZ56522  ... -- 
http_user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 
Edg/144.0.0.0 remote_addr=72.xx.xxx.xxx
72.xx.xxx.xxx xxxxxxxx:72.xx.xxx.xxx - [13/February/2026:14:24:52 -0600] 
huldacpz /cgi-bin/cart.cgi/ord/finalize display special page

When so critical, why is there not a trap for excess characters?







More information about the interchange-users mailing list