* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
-#include "sysfs/libsysfs.h"
+#include "libsysfs.h"
#include "sysfs.h"
static void sysfs_close_cls_dev(void *dev)
}
if (strncmp(classname, SYSFS_BLOCK_NAME,
sizeof(SYSFS_BLOCK_NAME)) == 0) {
- safestrncat(path, "/", len);
- safestrncat(path, SYSFS_BLOCK_NAME, len);
+ safestrcatmax(path, "/", len);
+ safestrcatmax(path, SYSFS_BLOCK_NAME, len);
} else {
- safestrncat(path, "/", len);
- safestrncat(path, SYSFS_CLASS_NAME, len);
- safestrncat(path, "/", len);
- safestrncat(path, classname, len);
+ safestrcatmax(path, "/", len);
+ safestrcatmax(path, SYSFS_CLASS_NAME, len);
+ safestrcatmax(path, "/", len);
+ safestrcatmax(path, classname, len);
}
- safestrncat(path, "/", len);
- safestrncat(path, clsdev, len);
+ safestrcatmax(path, "/", len);
+ safestrcatmax(path, clsdev, len);
return 0;
}
return cur;
}
+ if (clsdev->directory == NULL)
+ return NULL;
+
if (clsdev->directory->subdirs == NULL)
if ((sysfs_read_dir_subdirs(clsdev->directory)) != 0 ||
clsdev->directory->subdirs == NULL)