-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* GPL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*/
/*
int mode = i | 0644;
int rc;
- sprintf(name, "%s-mknod%07o", argv[1], mode);
+ snprintf(name, sizeof(name), "%s-mknod%07o", argv[1], mode);
rc = mknod(name, mode, 0x1234);
switch (i) {
case 0:
argv[0], name, st.st_mode, mode);
exit(12);
}
+ if (i == S_IFCHR || i == S_IFBLK) {
+ if (st.st_rdev != 0x1234) {
+ fprintf(stderr, "%s: ERROR rdev %s: "
+ "%llu != 0x1234",
+ argv[0], name,
+ (unsigned long long)st.st_rdev);
+ exit(13);
+ }
+ }
rc = unlink(name);
if (rc < 0) {
fprintf(stderr, "%s: ERROR unlink %s: %s",
argv[0], name, strerror(errno));
- exit(13);
+ exit(14);
}
break;
default:
if (rc == 0) {
fprintf(stderr, "%s: ERROR: %s created\n",
argv[0], name);
- exit(14);
+ exit(15);
}
}
}
int rc;
mode = i | 0644;
- sprintf(name, "%s-creat%07o", argv[1], mode);
+ snprintf(name, sizeof(name), "%s-creat%07o", argv[1], mode);
fd = open(name, O_CREAT|O_RDONLY, mode);
if (fd < 0) {
fprintf(stderr, "%s: ERROR creat %s: %s\n",
struct stat st;
int rc;
- sprintf(name, "%s-mkdir%06o", argv[1], i | 0644);
+ snprintf(name, sizeof(name), "%s-mkdir%06o", argv[1], i | 0644);
rc = mkdir(name, i | 0664);
if (rc < 0) {
fprintf(stderr, "%s: ERROR mkdir %s: %s\n",