xref: /OK3568_Linux_fs/buildroot/package/mtp/0005-Don-t-delete-MTP-root-directory.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom fa1b466aec4004c014feedf8565c0f6a3bedf37e Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Zain Wang <wzz@rock-chips.com>
3*4882a593SmuzhiyunDate: Wed, 6 Nov 2019 16:21:47 +0800
4*4882a593SmuzhiyunSubject: [PATCH] Don't delete MTP root directory
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun---
7*4882a593Smuzhiyun server/UbuntuMtpDatabase.h | 3 +++
8*4882a593Smuzhiyun 1 file changed, 3 insertions(+)
9*4882a593Smuzhiyun
10*4882a593Smuzhiyundiff --git a/server/UbuntuMtpDatabase.h b/server/UbuntuMtpDatabase.h
11*4882a593Smuzhiyunindex 29bd315..d675809 100644
12*4882a593Smuzhiyun--- a/server/UbuntuMtpDatabase.h
13*4882a593Smuzhiyun+++ b/server/UbuntuMtpDatabase.h
14*4882a593Smuzhiyun@@ -1035,6 +1035,9 @@ public:
15*4882a593Smuzhiyun         if (handle == 0 || handle == MTP_PARENT_ROOT)
16*4882a593Smuzhiyun             return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun+        DbEntry entry = db.at(handle);
19*4882a593Smuzhiyun+        if (entry.parent == 0)
20*4882a593Smuzhiyun+            return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
21*4882a593Smuzhiyun         try {
22*4882a593Smuzhiyun             if (db.at(handle).object_format == MTP_FORMAT_ASSOCIATION)
23*4882a593Smuzhiyun                 inotify_rm_watch(inotify_fd, db.at(handle).watch_fd);
24*4882a593Smuzhiyun--
25*4882a593Smuzhiyun2.7.4
26*4882a593Smuzhiyun
27