blob: 246608a33605abb75664304fce8a36d350bd87e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
|
--TEST--
Test tempnam() function: usage variations - permissions(0351 to 0777) of dir
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) == 'WIN') {
die('skip Not valid for Windows');
}
// Skip if being run by root
$filename = __DIR__."/is_readable_root_check.tmp";
$fp = fopen($filename, 'w');
fclose($fp);
if(fileowner($filename) == 0) {
unlink ($filename);
die('skip cannot be run as root');
}
unlink($filename);
?>
--FILE--
<?php
/* Prototype: string tempnam ( string $dir, string $prefix );
Description: Create file with unique file name.
*/
/* Trying to create the file in a dir with permissions from 0351 to 0777,
Allowable permissions: files are expected to be created in the input dir
Non-allowable permissions: files are expected to be created in '/tmp' dir
*/
echo "*** Testing tempnam() with dir of permissions from 0351 to 0777 ***\n";
$file_path = __DIR__;
$dir_name = $file_path."/tempnam_variation4";
$prefix = "tempnamVar4.";
mkdir($dir_name);
for($mode = 0351; $mode <= 0777; $mode++) {
chmod($dir_name, $mode);
$file_name = tempnam($dir_name, $prefix);
if(file_exists($file_name) ) {
if (dirname($file_name) != $dir_name) {
/* Either there's a notice or error */
printf("%o\n", $mode);
if (realpath(dirname($file_name)) != realpath(sys_get_temp_dir())) {
echo " created in unexpected dir\n";
}
}
unlink($file_name);
}
else {
print("FAILED: File is not created\n");
}
}
rmdir($dir_name);
echo "*** Done ***\n";
?>
--EXPECTF--
*** Testing tempnam() with dir of permissions from 0351 to 0777 ***
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
400
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
401
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
402
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
403
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
404
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
405
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
406
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
407
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
410
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
411
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
412
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
413
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
414
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
415
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
416
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
417
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
420
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
421
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
422
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
423
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
424
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
425
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
426
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
427
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
430
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
431
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
432
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
433
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
434
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
435
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
436
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
437
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
440
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
441
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
442
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
443
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
444
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
445
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
446
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
447
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
450
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
451
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
452
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
453
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
454
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
455
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
456
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
457
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
460
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
461
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
462
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
463
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
464
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
465
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
466
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
467
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
470
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
471
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
472
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
473
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
474
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
475
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
476
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
477
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
500
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
501
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
502
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
503
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
504
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
505
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
506
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
507
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
510
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
511
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
512
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
513
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
514
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
515
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
516
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
517
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
520
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
521
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
522
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
523
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
524
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
525
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
526
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
527
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
530
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
531
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
532
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
533
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
534
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
535
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
536
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
537
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
540
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
541
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
542
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
543
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
544
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
545
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
546
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
547
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
550
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
551
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
552
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
553
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
554
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
555
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
556
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
557
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
560
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
561
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
562
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
563
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
564
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
565
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
566
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
567
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
570
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
571
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
572
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
573
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
574
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
575
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
576
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
577
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
600
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
601
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
602
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
603
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
604
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
605
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
606
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
607
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
610
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
611
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
612
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
613
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
614
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
615
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
616
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
617
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
620
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
621
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
622
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
623
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
624
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
625
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
626
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
627
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
630
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
631
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
632
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
633
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
634
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
635
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
636
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
637
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
640
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
641
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
642
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
643
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
644
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
645
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
646
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
647
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
650
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
651
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
652
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
653
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
654
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
655
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
656
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
657
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
660
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
661
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
662
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
663
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
664
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
665
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
666
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
667
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
670
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
671
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
672
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
673
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
674
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
675
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
676
Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation4-1.php on line 20
677
*** Done ***
|