server
server copied to clipboard
Add Group: Limit the input size to <= SQL 'gid' column
To reproduce (v24.0.9 and 25.0.2):
- Try to add a new Group with a very big string Name (size is not limited on the input, this is the problem), like:
This is my very big group with a very big string that will trigger the MySQL Error because is too big for the column
- Error:
{
"reqId": "qgb3hlAsxLAV8tfTYtMX",
"level": 3,
"time": "2023-01-20T14:33:01+01:00",
"app": "no app in context",
"method": "POST",
"url": "/ocs/v2.php/cloud/groups",
"message": "An exception occurred while executing a query: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'gid' at row 1",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
"version": "25.0.2.3",
"exception": {
"Exception": "Doctrine\\DBAL\\Exception\\DriverException",
"Message": "An exception occurred while executing a query: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'gid' at row 1",
"Code": 1406,
"Trace": [
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1780,
"function": "convert",
"class": "Doctrine\\DBAL\\Driver\\API\\MySQL\\ExceptionConverter",
"type": "->",
"args": [
{
"__class__": "Doctrine\\DBAL\\Driver\\PDO\\Exception"
},
{
"__class__": "Doctrine\\DBAL\\Query"
}
]
},
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1719,
"function": "handleDriverException",
"class": "Doctrine\\DBAL\\Connection",
"type": "->",
"args": [
{
"__class__": "Doctrine\\DBAL\\Driver\\PDO\\Exception"
},
{
"__class__": "Doctrine\\DBAL\\Query"
}
]
},
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1173,
"function": "convertExceptionDuringQuery",
"class": "Doctrine\\DBAL\\Connection",
"type": "->",
"args": [
{
"__class__": "Doctrine\\DBAL\\Driver\\PDO\\Exception"
},
"INSERT INTO `oc_groups` (`gid`, `displayname`) VALUES(?, ?)",
[
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
],
[
2,
2
]
]
},
{
"file": "/var/www/nextcloud/lib/private/DB/Connection.php",
"line": 294,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connection",
"type": "->",
"args": [
"INSERT INTO `oc_groups` (`gid`, `displayname`) VALUES(?, ?)",
[
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
],
[
2,
2
]
]
},
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
"line": 354,
"function": "executeStatement",
"class": "OC\\DB\\Connection",
"type": "->",
"args": [
"INSERT INTO `oc_groups` (`gid`, `displayname`) VALUES(:dcValue1, :dcValue2)",
[
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
],
[
2,
2
]
]
},
{
"file": "/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php",
"line": 281,
"function": "execute",
"class": "Doctrine\\DBAL\\Query\\QueryBuilder",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/Group/Database.php",
"line": 103,
"function": "execute",
"class": "OC\\DB\\QueryBuilder\\QueryBuilder",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/Group/Manager.php",
"line": 221,
"function": "createGroup",
"class": "OC\\Group\\Database",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
]
},
{
"file": "/var/www/nextcloud/apps/provisioning_api/lib/Controller/GroupsController.php",
"line": 250,
"function": "createGroup",
"class": "OC\\Group\\Manager",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 225,
"function": "addGroup",
"class": "OCA\\Provisioning_API\\Controller\\GroupsController",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
""
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 133,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\GroupsController"
},
"addGroup"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
"line": 172,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\GroupsController"
},
"addGroup"
]
},
{
"file": "/var/www/nextcloud/lib/private/Route/Router.php",
"line": 298,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OCA\\Provisioning_API\\Controller\\GroupsController",
"addGroup",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
[
"ocs.provisioning_api.Groups.addGroup"
]
]
},
{
"file": "/var/www/nextcloud/ocs/v1.php",
"line": 63,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/ocsapp/cloud/groups"
]
},
{
"file": "/var/www/nextcloud/ocs/v2.php",
"line": 23,
"args": [
"/var/www/nextcloud/ocs/v1.php"
],
"function": "require_once"
}
],
"File": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php",
"Line": 114,
"Previous": {
"Exception": "Doctrine\\DBAL\\Driver\\PDO\\Exception",
"Message": "SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'gid' at row 1",
"Code": 1406,
"Trace": [
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php",
"line": 94,
"function": "new",
"class": "Doctrine\\DBAL\\Driver\\PDO\\Exception",
"type": "::",
"args": [
{
"__class__": "PDOException",
"errorInfo": [
"22001",
1406,
"Data too long for column 'gid' at row 1"
]
}
]
},
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1163,
"function": "execute",
"class": "Doctrine\\DBAL\\Driver\\PDO\\Statement",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/DB/Connection.php",
"line": 294,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connection",
"type": "->",
"args": [
"INSERT INTO `oc_groups` (`gid`, `displayname`) VALUES(?, ?)",
[
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
],
[
2,
2
]
]
},
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
"line": 354,
"function": "executeStatement",
"class": "OC\\DB\\Connection",
"type": "->",
"args": [
"INSERT INTO `oc_groups` (`gid`, `displayname`) VALUES(:dcValue1, :dcValue2)",
[
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
],
[
2,
2
]
]
},
{
"file": "/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php",
"line": 281,
"function": "execute",
"class": "Doctrine\\DBAL\\Query\\QueryBuilder",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/Group/Database.php",
"line": 103,
"function": "execute",
"class": "OC\\DB\\QueryBuilder\\QueryBuilder",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/Group/Manager.php",
"line": 221,
"function": "createGroup",
"class": "OC\\Group\\Database",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
]
},
{
"file": "/var/www/nextcloud/apps/provisioning_api/lib/Controller/GroupsController.php",
"line": 250,
"function": "createGroup",
"class": "OC\\Group\\Manager",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 225,
"function": "addGroup",
"class": "OCA\\Provisioning_API\\Controller\\GroupsController",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
""
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 133,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\GroupsController"
},
"addGroup"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
"line": 172,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\GroupsController"
},
"addGroup"
]
},
{
"file": "/var/www/nextcloud/lib/private/Route/Router.php",
"line": 298,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OCA\\Provisioning_API\\Controller\\GroupsController",
"addGroup",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
[
"ocs.provisioning_api.Groups.addGroup"
]
]
},
{
"file": "/var/www/nextcloud/ocs/v1.php",
"line": 63,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/ocsapp/cloud/groups"
]
},
{
"file": "/var/www/nextcloud/ocs/v2.php",
"line": 23,
"args": [
"/var/www/nextcloud/ocs/v1.php"
],
"function": "require_once"
}
],
"File": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php",
"Line": 26,
"Previous": {
"Exception": "PDOException",
"Message": "SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'gid' at row 1",
"Code": "22001",
"Trace": [
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php",
"line": 92,
"function": "execute",
"class": "PDOStatement",
"type": "->",
"args": [
null
]
},
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1163,
"function": "execute",
"class": "Doctrine\\DBAL\\Driver\\PDO\\Statement",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/DB/Connection.php",
"line": 294,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connection",
"type": "->",
"args": [
"INSERT INTO `oc_groups` (`gid`, `displayname`) VALUES(?, ?)",
[
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
],
[
2,
2
]
]
},
{
"file": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
"line": 354,
"function": "executeStatement",
"class": "OC\\DB\\Connection",
"type": "->",
"args": [
"INSERT INTO `oc_groups` (`gid`, `displayname`) VALUES(:dcValue1, :dcValue2)",
[
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
],
[
2,
2
]
]
},
{
"file": "/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php",
"line": 281,
"function": "execute",
"class": "Doctrine\\DBAL\\Query\\QueryBuilder",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/Group/Database.php",
"line": 103,
"function": "execute",
"class": "OC\\DB\\QueryBuilder\\QueryBuilder",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/lib/private/Group/Manager.php",
"line": 221,
"function": "createGroup",
"class": "OC\\Group\\Database",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
]
},
{
"file": "/var/www/nextcloud/apps/provisioning_api/lib/Controller/GroupsController.php",
"line": 250,
"function": "createGroup",
"class": "OC\\Group\\Manager",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 225,
"function": "addGroup",
"class": "OCA\\Provisioning_API\\Controller\\GroupsController",
"type": "->",
"args": [
"This is my very big group with a very big string taht will trigger the MySQL Error bacause is too big for to column",
""
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 133,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\GroupsController"
},
"addGroup"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
"line": 172,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Provisioning_API\\Controller\\GroupsController"
},
"addGroup"
]
},
{
"file": "/var/www/nextcloud/lib/private/Route/Router.php",
"line": 298,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OCA\\Provisioning_API\\Controller\\GroupsController",
"addGroup",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
[
"ocs.provisioning_api.Groups.addGroup"
]
]
},
{
"file": "/var/www/nextcloud/ocs/v1.php",
"line": 63,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/ocsapp/cloud/groups"
]
},
{
"file": "/var/www/nextcloud/ocs/v2.php",
"line": 23,
"args": [
"/var/www/nextcloud/ocs/v1.php"
],
"function": "require_once"
}
],
"File": "/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php",
"Line": 92
}
},
"CustomMessage": "--"
},
"id": "63ca98164ab39"
}